Demo示例三步走
- 新建个DataTable,写数据
- 筛选DataTable的数据
- 新建一个新的DataTable接收筛选后的DataTable数据
一、 新建个DataTable,写数据
DataTable oldDt = new DataTable();//新建一个空的DataTable
oldDt.Columns.Add("name", typeof(string));//新建列名name 姓名
oldDt.Columns.Add("age", typeof(Int32));//新建列名age 年龄
DataRow dr = null;
for (int i = 0; i < 2; i++)
{
dr = oldDt.NewRow();//新建一行
dr["name"] = "张三" + i;//姓名赋值
dr["age"] = 18 + i;//年龄赋值
oldDt.Rows.Add(dr);//将这一行赋值到oldDt中
}
以上新建的DataTable最后的值如下
name | age |
---|---|
张三0 | 18 |
张三1 | 19 |
二、 筛选DataTable的数据
使用Select语法,参数中可以传递查询条件,和sql语句很像。
最后返回的值是由DataRow对象组成的数组
DataRow[] rows = oldDt.Select("name='张三1'");//查询筛选
筛选出名字是【张三1】的数据
三、新建一个新的DataTable接收筛选后的DataTable数据
DataTable newDt = new DataTable();//新建一个新的空DataTable
newDt = oldDt.Clone();//克隆DataTable的结构
foreach (DataRow row in rows)
{
newDt.Rows.Add(row.ItemArray);//对新的dt赋值
}
最后得到的DataTable的值
name | age |
---|---|
张三1 | 19 |