AI智能
改变未来

C#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

加行

//方法1DataRow newRow = dt.NewRow();newRow[\"F1\"] = \"test1\";//不赋值则默认为空,全空则空行newRow[\"F2\"] = \"test2\";newRow[\"F3\"] = \"test3\";newRow[\"F4\"] = \"test4\";dt.Rows.Add(newRow);//方法2dt.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]);//删除指定datarowdt.Rows.RemoveAt(i);//根据索引删除//注意:datatable删除行时应使用for倒序循环删除,正序删除索引发生改变,引发异常

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

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » C#DataTable部分用法(加列,加行,取数据)