Datatable日常操作
移除:DataTable.Columns.Remove("colName");
取列:DataTable dt = DataTable.DefaultView.ToTable(false, new string[] { "colName1", "colName2" });
取行:DataTable dt=new DataView(table, "过滤条件", "排序字段", DataViewRowState.None).ToTable();
行赋值:dt.Rows[i].ItemArray= dtNew. Rows[i].ItemArray;
DataTable dt;
DataTable dtNew;
dtNew= dt.Copy();dtNew.Columns["Column"].ColumnName = "ColumnName";DataTable dt = new DataTable();
//添加三列dt.Columns.Add("col1");dt.Columns.Add("col2");dt.Columns.Add("col3");//添加一行数据dt.Rows.Add(1,2,3);//把第三列放到第一的位置dt.Columns["col3"].SetOrdinal(0);//创建一个空列,先实例化,后添加
DataColumn dataColumn = new DataColumn();//实例化列类(DataColumn)
dataTable1.Columns.Add(dataColumn);//将一个空列添加到DataTable
//创建一个带有列名和列内数据类型的列,边实例化 边添加
dataTable1.Columns.Add("列名",typeof(string));
//先实例化 后添加
DataColumn dataColumn1 = new DataColumn("列名", typeof(string));
dataTable1.Columns.Add(dataColumn1);
创建行(利用DataTable的newRow方法创建,利用DataTable的属性:Rows 方法:Add来创建Add(另一个表的Rows[i].ItemArry/具体的内容))
//创建空行
DataRow dataRow = dataTable1.NewRow();//与创建列不同,行的创建利用的DataTable的方法(行的类为Datarow)
dataTable1.Rows.Add();
//通过行框架创建并赋值
dataTable1.Rows.Add("aaaa" new object[]{内容});(注意和列的定义相符合)
//利用赋值另一个DataTable的值来创建
dataTable1.Rows.Add(datatable2.Rows[i].ItemArray);
对DataTable的赋值
//利用行的中列的位置赋值(类似数组)
DataRow dataRow = datatable2.NewRow();//创建了一行
dataRow[0] = 2;//对该行第一列赋值
//利用行中列的名称进行赋值
dataRow["列名"] = 2;//对该行的名称为“列名”的列赋值(datatable.column.add("列名",列的数据类型))即可创建一个有名的列
//对DataTable根据位置赋值
dataTable1.Rows[0][0] = 1;//对datatabe中第一行第一列赋值
//对DataTable 根据位置和列名进行赋值
dataTable1.Rows[0]["列名"] = 1;//对DataTable中第一行的列名为“列名‘进行赋值
从DataTable中取值
string name = dataTable1.Rows[0][0].ToString();//把DataTable中的第一个数字赋值给那么
从DataTable中筛选行(列)(DataTable的属性;Select 、like /' 李'模糊查询 、rows[] 表示一行 row[][] 表示一个数)
//选择"列1"为空的行
DataRow[] dr = dataTable1.Select("列1=null");
//选择列1 为5 的行的集合
DataRow[] dr1 = dataTable1.Select("列1=5");
//选择列1包含'李"的行的集合
DataRow[] dt2 = datatable2.Select("列1 like '李'");
从DataTable中删除行(Remove Removeat 两个方法,和Select、Add一样,datatable.rows.方法名)
//利用dataTable.rows.remove()方法删除行
datatable2.Rows.Remove(datatable2.Rows[0]);//删除第一行的数
//利用DataTable.rows.Removeat()方法删除
datatable2.Rows.RemoveAt(0);//删除第一行的数 //利用循环删除多行时,应采用倒序,顺序编号发生变化
for (int i = datatable2.Rows.Count; i > 0; i--)
{
datatable2.Rows.RemoveAt(i);
}
复制表
//先创建后复制
DataTable ta = new DataTable("表名");
ta = datatable2.Copy();
//边创建边复制
DataTable ta1 = datatable2.Copy();
//只复制格式不要数据——先复制后清空
DataTable dataTable3 = new DataTable();
dataTable3 = datatable2.Copy();
dataTable3.Clear();
//只复制格式不要数据——克隆
DataTable dataTable4 = datatable2.Clone();
//只要表中的一行
DataTable dataTable5 = datatable2.Copy();
dataTable5.Clear();
dataTable5.ImportRow(datatable2.Rows[0]);//加入另一表的第一行
表排序
DataTable table = new DataTable("排序表");
table.Columns.Add("ID列名",typeof(int));//ID列
table.Columns.Add("Name", typeof(string));//Name列
table.Columns.Add("Age", typeof(int));//Age列
table.Rows.Add(new object[] { 1, "李", 20 });//第一行(与列想对应)
table.Rows.Add(new object[] { 2,"张",21});//第二行
//获取表试图
DataView dataView = table.DefaultView;
//利用Sort属性,排序
dataView.Sort = "ID DESC";//ID倒序
dataView.ToTable();//创建为新的表格

浙公网安备 33010602011771号