盈和动力 | 二十年品牌 - 提供:互联网信息化建设、大数据内容安全新媒体云监测等解决方案

关于C# DataTable 的一些操作

 二维码 9
发表时间:2016-03-11 14:37

经常操作DATATABLE  对于一些不需要再通过sql 来重复操作的   可以通过操作datatable来达到同样的效果


方法一:


   也是广为人知的一种:


   YourDataTable.Columns.Remove("列名");


   但是这种情况只适合于去掉很少列的情况。


   如果有很多列我却只要一两列呢,那就得用方法二了。


方法二:


  DataTable dat = YourDataTable.DefaultView.ToTable(false, new string[] { "你要的列名", "你要的列名" });


补加dataTable操作相关内容:


对DataTable 的一些操作


在dataTable中最容易想到的是用for循环来操作,但事实不到万不得已是不会用form循环的,因为效率一般不高。


1)  取行


取行一般用rowfilter


DataTable datSource;//数据源表


//过滤表


DataView davTemp = new DataView(datSource, "过滤条件", "排序字段", DataViewRowState.各种 状态);


//把过滤后的表赋给新表


DataTable datNew = davTemp.ToTable();



2)取表的某列或多列


DataTable datSource;//数据源表


DataTable datNew= datSource.DefaultView.ToTable(false, new string[] { "列名", "列名" .....});



3)复制某行的值[前提是表结构或列数相同]


DataTable datSource;


DataTable datNew;


datSource.Rows[i].ItemArray= datNew. Rows[i].ItemArray;



4)表列数相同,但是却列名不同,想复制值怎么办?


换个思维方式,既然列数相同,只是列名不同,为什么不改变列名呢?


如下:


DataTable datSource;


DataTable datNew;


datNew= datSource.Copy();


datNew.Columns["FirstColumn"].ColumnName = "YourColumnName";



5)调整列的位置SetOrdinal();


 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);



(转载:http://www.cnblogs.com/dwuge/archive/2016/03/10/5261003.html)


扫一扫,观看视频
会员登录
登录
其他账号登录:
留言
回到顶部