DataTable
来源:互联网 发布:linux就该这么学百度云 编辑:程序博客网 时间:2024/04/29 21:36
(1)构造函数
DataTable() 不带参数初始化DataTable 类的新实例。
DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。
DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable类的新实例。
(2) 常用属性
Columns 获取属于该表的列的集合。
DataSet 获取此表所属的DataSet。
Rows 获取属于该表的行的集合。
TableName 获取或设置DataTable 的名称。
(3)常用方法
Clear() 清除所有数据的DataTable。
Clone() 克隆DataTable 的结构,包括所有DataTable 架构和约束。
NewRow() 创建与该表具有相同架构的新DataRow。
二、DataTable 使用技巧
(1)Create a DataTable
DataTable dt = new DataTable("Table_AX");
(2)Add columns for DataTable
//Method 1
dt.Columns.Add("column0", System.Type.GetType("System.String"));
//Method 2
DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
dt.Columns.Add(dc);
(3)Add rows for DataTable
//Initialize the row
DataRow dr = dt.NewRow();
dr["column0"] = "AX";
dr["column1"] = true;
dt.Rows.Add(dr);
//Doesn't initialize the row
DataRow dr1 = dt.NewRow();
dt.Rows.Add(dr1);
(4)Select row
//Search the second row 如果没有赋值,则用is null来select
DataRow[] drs = dt.Select("column1 is null");
DataRow[] drss = dt.Select("column0 = 'AX'");
(5)Copy DataTable include data
DataTable dtNew = dt.Copy();
(6)Copy DataTable only scheme
DataTable dtOnlyScheme = dt.Clone();
(7)Operate one row
//对dt的操作
//Method 1
DataRow drOperate = dt.Rows[0];
drOperate["column0"] = "AXzhz";
drOperate["column1"] = false;
//Method 2
drOperate[0] = "AXzhz";
drOperate[1] = false;
//Method 3
dt.Rows[0]["column0"] = "AXzhz";
dt.Rows[0]["column1"] = false;
//Method 4
dt.Rows[0][0] = "AXzhz";
dt.Rows[0][1] = false;
(8)Bind DataTable
//绑定的其实是DefaultView
gvTestDataTable.DataSource = dt;
gvTestDataTable.DataBind();
(9)judge the DataTable’s Column name is a string
//判断一个字符串是否为DataTable的列名
dtInfo.Columns.Contains("AX");
(10)Filter DataTable
dt.DefaultView.RowFilter = "column1 <> true";
dt.DefaultView.RowFilter = "column1 = true";
(11)Sort row
dt.DefaultView.Sort = "ID ,Name ASC";
dt=dt.DefaultView.ToTable();
DataTable() 不带参数初始化DataTable 类的新实例。
DataTable(string tableName) 用指定的表名初始化DataTable 类的新实例。
DataTable(string tableName, string tableNamespace) 用指定的表名和命名空间初始化DataTable类的新实例。
(2) 常用属性
Columns 获取属于该表的列的集合。
DataSet 获取此表所属的DataSet。
Rows 获取属于该表的行的集合。
TableName 获取或设置DataTable 的名称。
(3)常用方法
Clear() 清除所有数据的DataTable。
Clone() 克隆DataTable 的结构,包括所有DataTable 架构和约束。
NewRow() 创建与该表具有相同架构的新DataRow。
二、DataTable 使用技巧
(1)Create a DataTable
DataTable dt = new DataTable("Table_AX");
(2)Add columns for DataTable
//Method 1
dt.Columns.Add("column0", System.Type.GetType("System.String"));
//Method 2
DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));
dt.Columns.Add(dc);
(3)Add rows for DataTable
//Initialize the row
DataRow dr = dt.NewRow();
dr["column0"] = "AX";
dr["column1"] = true;
dt.Rows.Add(dr);
//Doesn't initialize the row
DataRow dr1 = dt.NewRow();
dt.Rows.Add(dr1);
(4)Select row
//Search the second row 如果没有赋值,则用is null来select
DataRow[] drs = dt.Select("column1 is null");
DataRow[] drss = dt.Select("column0 = 'AX'");
(5)Copy DataTable include data
DataTable dtNew = dt.Copy();
(6)Copy DataTable only scheme
DataTable dtOnlyScheme = dt.Clone();
(7)Operate one row
//对dt的操作
//Method 1
DataRow drOperate = dt.Rows[0];
drOperate["column0"] = "AXzhz";
drOperate["column1"] = false;
//Method 2
drOperate[0] = "AXzhz";
drOperate[1] = false;
//Method 3
dt.Rows[0]["column0"] = "AXzhz";
dt.Rows[0]["column1"] = false;
//Method 4
dt.Rows[0][0] = "AXzhz";
dt.Rows[0][1] = false;
(8)Bind DataTable
//绑定的其实是DefaultView
gvTestDataTable.DataSource = dt;
gvTestDataTable.DataBind();
(9)judge the DataTable’s Column name is a string
//判断一个字符串是否为DataTable的列名
dtInfo.Columns.Contains("AX");
(10)Filter DataTable
dt.DefaultView.RowFilter = "column1 <> true";
dt.DefaultView.RowFilter = "column1 = true";
(11)Sort row
dt.DefaultView.Sort = "ID ,Name ASC";
dt=dt.DefaultView.ToTable();
0 0
- DataTable
- DataTable
- DataTable
- DataTable
- datatable
- DataTable
- DataTable
- DataTable
- DataTable
- datatable???
- DataTable
- dataTable
- DataTable
- datatable
- dataTable
- datatable
- DataTable
- DataTable
- 2. JMeter中非常重要的几个概念
- URAL - 1748 The Most Complex Number(数论+搜索)
- Hive常用命令总结
- python 国际化一词多义翻译
- Lightoj1211——Intersection of Cubes(立方体的交)
- DataTable
- Sqlite
- js模态框插件
- 深度优先搜索
- volatile的作用和菱形继承问题
- SpringMVC与Struts2区别与比较总结
- JZOJ 4294. 复制&粘贴2
- leetcode Maximum Gap
- 【NOIP2016提高A组模拟9.4】幻象