C#DataTable部分用法(加列,加行,取数据)

2022-08-06,,

加列

	DataTable dt = new DataTable();
  	 dt.Columns.Add("F1");//“F1为列名”
     dt.Columns.Add("F2");
     dt.Columns.Add("F3");
     dt.Columns.Add("F4");
    //C#Datatable提供Clone方法,可以用于复制其他的datatable
    //sqlsugar提供ToDataTable()方法,提供从数据库获取的数据转为datatable

加行

//方法1
	DataRow newRow = dt.NewRow();  
     newRow["F1"] = "test1";//不赋值则默认为空,全空则空行
     newRow["F2"] = "test2";
     newRow["F3"] = "test3";
     newRow["F4"] = "test4";
     dt.Rows.Add(newRow);
//方法2
 dt.Rows.Add("test1", "test2", "test3", "test4");//参数个数必须和datarow的列数一致,顺序一致
//方法3,假设dt2和dt是同列的表
//var dt2 = dt.Clone();
 dt.Rows.Add(dt2.Rows[i].ItemArray);//必须取ItemArray,直接取dt2的行数则会提示行属于另外一个表
 

取行

  DataRow row = dt.Rows[i];/i为索引,从0开始	

赋值

dt.Rows[i][j]="test1";//通过索引得到单元格进行赋值
dt.Rows[i]["F1"]="test1";//通过列名得到单元格进行赋值

取列

var columnvalue =dt.Rows[i][j];//通过索引获取值
var columnvalue =dt.Rows[i]["F1"];//通过列名获取值
var listcolumn = (from d in dt.AsEnumerable() select d.Field<string>("F1")).ToList();//取整列

筛选(Select方法)

//dt.Select可理解为sql语句  select * from dt where <condition>
// dt.Select("condition");
//例:取列F1为空的行
var dt3 = dt.Select("F1 is null");//dt3 为DataRow[] 

排序

var dv =dt.DefaultView;//datatable视图
dv.Sort="F1";//默认升序
dv.Sort="F1 desc";

删行

dt.Rows.Remove(dt.Rows[0]);//删除指定datarow
dt.Rows.RemoveAt(i);//根据索引删除
//注意:datatable删除行时应使用for倒序循环删除,正序删除索引发生改变,引发异常

我是小赖,一个喜欢写代码的小伙子

本文地址:https://blog.csdn.net/qq_36938424/article/details/107312111

《C#DataTable部分用法(加列,加行,取数据).doc》

下载本文的Word格式文档,以方便收藏与打印。