zoukankan
html css js c++ java
C# DataTable操作
protected
void
Page_Load(
object
sender, EventArgs e)
{
//
①Create a DataTable
DataTable dt
=
new
DataTable(
"
Table_AX
"
);
//
②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);
//
③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);
//
④Select row
//
Search the second row 如果没有赋值,则用is null来select
DataRow[] drs
=
dt.Select(
"
column1 is null
"
);
DataRow[] drss
=
dt.Select(
"
column0 = 'AX'
"
);
//
⑤Copy DataTable include data
DataTable dtNew
=
dt.Copy();
//
⑥Copy DataTable only scheme
DataTable dtOnlyScheme
=
dt.Clone();
//
⑦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
;
//
⑧Evaluate another DataTable's row to current Datatable
dtOnlyScheme.Rows.Add(dt.Rows[
0
].ItemArray);
//
⑨Use Rowstate
//
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//
不知道怎么才能使Row的State变为DataRowState.Deleted
//
More further,怎样设置Row的State
//
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
if
(dt.Rows[
0
].RowState
==
DataRowState.Unchanged)
{
//
Your logic
}
//
⑩Convert to string
System.IO.StringWriter sw
=
new
System.IO.StringWriter();
System.Xml.XmlTextWriter xw
=
new
System.Xml.XmlTextWriter(sw);
dt.WriteXml(xw);
string
s
=
sw.ToString();
//
ⅰ.string convert to DataTable【Doesn't achieve it】
//
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//
没有把string成功转换为DataTable ■■已实现,参见追加■■
//
■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//
DataTable dtConvert = new DataTable();
//
System.IO.StringReader stream = new System.IO.StringReader(s);
//
System.Xml.XmlReader xtr = new System.Xml.XmlTextReader(stream);
//
dtConvert.ReadXml(xtr);
//
ⅱ.Filter DataTable
//
It's so strange that the second row has been filtered
//
the second row show in GridView never
//
It means null field will be filter always.
//
Filter the all conditions
dt.DefaultView.RowFilter
=
"
column1 <> true
"
;
//
dt.DefaultView.RowFilter = "column1 = true";
dt.DefaultView.RowStateFilter
=
DataViewRowState.Added;
//
ⅲ.Sort row
//
Stupid method
DataRow[] drsss
=
dt.Select(String.Empty,
"
column0 DESC , column1 ASC
"
);
//
Clever method
dt.DefaultView.Sort
=
"
column0 , column1 ASC
"
;
//
ⅳ.Bind DataTable
//
绑定的其实是DefaultView
gvTestDataTable.DataSource
=
dt;
gvTestDataTable.DataBind();
}
查看全文
相关阅读:
HDU 5938 Four Operations 【贪心】(2016年中国大学生程序设计竞赛(杭州))
HDU 5935 Car 【模拟】 (2016年中国大学生程序设计竞赛(杭州))
HDU 5934 Bomb 【图论缩点】(2016年中国大学生程序设计竞赛(杭州))
HDU 5933 ArcSoft's Office Rearrangement 【模拟】(2016年中国大学生程序设计竞赛(杭州))
HDU 5929 Basic Data Structure 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
【转】LaTeX 符号命令大全
HDU 5922 Minimum’s Revenge 【模拟】 (2016CCPC东北地区大学生程序设计竞赛)
HDU 5927 Auxiliary Set 【DFS+树】(2016CCPC东北地区大学生程序设计竞赛)
数据结构之稀疏矩阵
C++中引用(&)的用法和应用实例
原文地址:https://www.cnblogs.com/henyihanwobushi/p/2953105.html
最新文章
3-19
RBAC权限管理
3-18
Sybase 事务和嵌套事务
期货笔记-----不定时更新
OC基础3:一些基本概念
OC基础2:一些基本概念
OC基础1:一些基本概念
程序的机器级表示 (2)
程序的机器级表示 (1)
热门文章
程序的机器级表示 (0)
信息的表示和处理(4)
信息的表示和处理(3)
信息的表示和处理(2)
终端开发补充 : 读 curses模块官方文档...
终端游戏开发 : 开发2048...
第0001题 : 产生随机数(顺便读random模块官方文档)
图片处理拓展篇 : 图片转字符画(ascii)
HDU 5936 Difference 【中途相遇法】(2016年中国大学生程序设计竞赛(杭州))
HDU 5943 Kingdom of Obsession 【二分图匹配 匈牙利算法】 (2016年中国大学生程序设计竞赛(杭州))
Copyright © 2011-2022 走看看