zoukankan
html css js c++ java
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();
}
-------长沙程序员技术交流QQ群:428755207-------
查看全文
相关阅读:
剑指offer-02-替换空格
剑指offer-03-从尾到头打印链表
剑指offer-01-二维数组中的查找
JS-几类函数
【工具使用】—VSCode
【工具使用】—Chrome工具使用技巧
【codeReview】button-disabled
c语言中结构体位段
结构体位断
malloc/free与 new/delete的区别
原文地址:https://www.cnblogs.com/qq4004229/p/2640311.html
最新文章
IOS开发之网络编程(请求数据和断点续传)
IOS开发之 归档总结
IOS开发之copy与MutableCopy
IOS知识点总结 一 (NSArray)
IO开发之图形动画
IOS之从storyBoard生成的controller对象的生命周期问题
IOS知识点总结 一 (NSString)
使用内存映射文件的方式读取几GB大文件(提速)
Opencv形态学变换 膨胀腐蚀
平滑滤波器
热门文章
边缘检测算子(Roberts算子、Prewitt算子、Sobel算子 和 Laplacian算子 canny检测) 转发
Open CV学习 01 离散傅里叶变换DFT
PS 常用快捷键(持续更新)
Socket通信 客户端多张网卡时连接不上服务器
ADO.NET 基础入门01
Winform 重绘控件 得到一个竖直显示的label标签
傅里叶变换
剑指offer-04-重建二叉树
剑指offer-08-跳台阶
剑指offer-07-斐波那契数列
Copyright © 2011-2022 走看看