方法一:
也是广为人知的一种:
1
|
YourDataTable.Columns.Remove(
"列名"
);
|
但是这种情况只适合于去掉很少列的情况。
如果有很多列我却只要一两列呢,那就得用方法二了。
方法二:
DataTable dat = YourDataTable.DefaultView.ToTable(false, new string[] { "你要的列名", "你要的列名" });
补加dataTable操作相关内容:
对DataTable 的一些操作
在dataTable中最容易想到的是用for循环来操作,但事实不到万不得已是不会用form循环的,因为效率一般不高。
1) 取行
取行一般用rowfilter
1
2
3
4
5
|
DataTable datSource;
DataView davTemp =
new
DataView(datSource,
"过滤条件"
,
"排序字段"
, DataViewRowState.各种 状态);
DataTable datNew = davTemp.ToTable();
|
2)取表的某列或多列
1
2
|
DataTable datSource;
DataTable datNew= datSource.DefaultView.ToTable(
false
,
new
string
[] {
"列名"
,
"列名"
.....});
|
3)复制某行的值[前提是表结构或列数相同]
1
2
3
|
DataTable datSource;
DataTable datNew;
datSource.Rows[i].ItemArray= datNew. Rows[i].ItemArray;
|
4)表列数相同,但是却列名不同,想复制值怎么办?
换个思维方式,既然列数相同,只是列名不同,为什么不改变列名呢?
如下:
1
2
3
4
|
DataTable datSource;
DataTable datNew;
datNew= datSource.Copy();
datNew.Columns[
"FirstColumn"
].ColumnName =
"YourColumnName"
;
|
5)调整列的位置SetOrdinal();
1
2
3
4
5
6
7
8
9
|
DataTable dat =
new
DataTable();
dat.Columns.Add(
"col1"
);
dat.Columns.Add(
"col2"
);
dat.Columns.Add(
"col3"
);
dat.Rows.Add(1,2,3);
dat.Columns[
"col3"
].SetOrdinal(0);
|