这篇文章主要介绍了C#实现从多列的DataTable里取需要的几列,涉及C#针对DataTable操作的相关技巧,需要的朋友可以参考下
这篇文章主要介绍了C#实现从多列的DataTable里取需要的几列,涉及C#针对DataTable操作的相关技巧,需要的朋友可以参考下
这篇文章主要介绍了C#实现从多列的DataTable里取需要的几列,涉及C#针对DataTable操作的相关技巧,需要的朋友可以参考下
本文实例讲述了C#实现从多列的DataTable里取需要的几列的方法。分享给大家供大家参考,具体如下:
方法一:
也是广为人知的一种:
|
1
|
YourDataTable.Columns.Remove("列名"); |
但是这种情况只适合于去掉很少列的情况。
如果有很多列我却只要一两列呢,那就得用方法二了。
方法二:
补加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); |
希望本文所述对大家C#程序设计有所帮助。
发表评论