• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#DataTable的一些操作经常操作

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

经常操作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);

经常操作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);

经常操作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);


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c++面试基本知识点整理(1)发布时间:2022-07-13
下一篇:
C#中dynamic的正确用法发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap