C#DataTable部分用法(加列,加行,取数据)
程序员文章站
2022-05-01 16:51:31
加列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加行...
加列
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