C# datatable取某几列值

方法一:

也是广为人知的一种:

?
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);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值