首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# DataTable 賦值參考導致 DataGridView 聯動:正確複製結構與資料

     編輯:程式設計綜合問答

錯誤代碼


DataTable dtNew = dt; // 只是複製參考
dtNew.DefaultView.RowFilter = "..."; // 影響原 dt,進而影響 DataGridView

正確複製方式

  1. 僅複製結構:DataTable dtNew = dt.Clone();(無資料)。
  2. 複製結構與資料:DataTable dtNew = dt.Copy();。
  3. 篩選後產生新表:
    
    DataTable dtNew = dt.Clone();
    foreach (DataRow row in dt.Select("sptm LIKE 'a%'")) {
        dtNew.ImportRow(row);
    }
    

說明

dtNew = dt 使兩變數指向同一 DataTable 實例,任何 DefaultView 操作(排序、篩選)都會反映到原表,進而影響繫結的 DataGridView。使用 Clone/Copy/ImportRow 可建立獨立副本。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved