//(1)初始化datatabledatatable dt1 = new datatable();
dt1.columns.add("id", typeof(int));
dt1.columns.add("names", typeof(string));
dt1.columns["id"].unique = true;
dt1.primarykey = new datacolumn ;
//賦值
datarow drr = dt1.newrow();
drr["id"] = 1;
drr["names"] = "張三";
dt1.rows.add(drr);
//(2)datatable之間操作
datatable dt2 = dt1.clone();//將dt1的資料轉殖到dt2 ,只複製表結構
datatable dt3 = dt1.copy();//將dt1的資料複製到dt3 複製資料和表結構
dt3.merge(dt1);//將dt1與dt3的資料合併,注:同表結構的複製則合併對應列,不同的會增加出不同的列
//將dt1的資料增加到dt2
//法一[直接複製]:
dt2 = dt1.copy();
//法二[匯入行的方式]:
dt2 = dt1.clone();
foreach (datarow item in dt1.rows)
//法三[每列迴圈新增]
foreach (datarow item in dt1.rows)
//(3)dataset與datatable的操作
新增到dataset中、
//①如果是新初始化的datatable,不屬於任何乙個dataset,則直接採用:
dataset ds = new dataset();
ds.tables.add(dt1);
// ② dt1已經屬於ds這個dataset了。 因為datatable是通過引用方式使用的,故乙個datatable不能新增到另外乙個dataset中,則採用以下方式:
dataset ds2 = new dataset();
ds2.tables.add(dt1.copy());//相當於複製了乙個新的datatable新增進去
//對於在乙個dataset中新增多個datatable,採用上面的②方式不可取,則採用以下方式將每個新增的datatable命名,否則新增進去會報已經存在datatable,便於新增了不會重複:
datatable dt4 = dt1.copy();
dt4.tablename = "dt4";
datatable dt5 = dt1.copy();
dt4.tablename = "dt5";
ds.tables.add(dt4);
ds.tables.add(dt5);
(4)datatable刪除
delete和remove
delete的使用是 datatable.rows[i].delete();
remove的使用是datatable.rows.remove(datatable.rows[i]);
這兩個的區別是,使用delete後,只是該行被標記為deleted,但是還存在,用rows.count來獲取行數時,還是刪除之前的行數.需要使用datatable.acceptchanges()方法來提交修改.
而remove方法則是直接刪除.
如果在for迴圈裡刪除行的話,最好是使用delete方法,不然會出現count變化的情況.迴圈完後再使用acceptchanges()方法提交修改,刪除掉標記為deleted的行
(5)//去掉重複行
dat**iew dv =table.defaultview;
table = dv.totable(true, new string );
此時table 就只有name、code無重複的兩行了,如果還需要id值則
table = dv.totable(true, new string );//第乙個引數true 啟用去重複,類似distinct
(6)datatable過濾
datatable 到datatale的過濾
dat**iew dvv = dt.defaultview;
dvv.rowfilter = "boxno in (" + id + ")";
datatable dtt = dvv.totable(); //得到過濾後的datetable值
乙個dat**iew只支援乙個rowfilter,你只能使用 not ,and 來連線多個過濾條件
datatable 到daterow 的過濾
DataTable用法總結
在專案中經常用到datatable,如果datatable使用得當,不僅能使程式簡潔實用,而且能夠提高效能,達到事半功倍的效果,現對datatable的使用技巧進行一下總結。一 datatable簡介 1 建構函式 datatable 不帶引數初始化datatable 類的新例項。datatable...
DataTable使用技巧總結
在專案中經常用到datatable,如果datatable使用得當,不僅能使程式簡潔實用,而且能夠提高效能,達到事半功倍的效果,現對datatable的使用技巧進行一下總結。一 datatable簡介 1 建構函式 datatable 不帶引數初始化datatable 類的新例項。datatable...
動態建立DataTable總結
最簡單的 datatable dt new datatable dt.columns.add id dt.columns.add name datarow dr dt.newrow for int i 0 i 100 i 其他 方法一 datatable tbldatas newdatatable ...