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-------
查看全文
相关阅读:
Linux基本命令-chmod
Linux操作系统启动流程
博客园背景美化
Windows安装python3.x后,pip list警告!DEPRECATION: The default format will switch to columns in the future.
Python2.7更新pip:UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position 7: ordinal not in range(128)
.Net程序员学用Oracle系列(23):视图理论、物化视图
.Net程序员学用Oracle系列(22):分析函数(OVER)
.Net程序员学用Oracle系列(21):分组查询(GROUP BY)
.Net程序员学用Oracle系列(20):层次查询(CONNECT BY)
.Net程序员学用Oracle系列(19):导出、导入(备份、还原)
原文地址:https://www.cnblogs.com/qq4004229/p/2640311.html
最新文章
vue轮播
左侧导航跟随屏幕移动
vue发送验证码60秒倒计时
vue监听滚动事件,在指定位置显示隐藏div
vue中使用<a>标签 页面内跳转滑动效果
vue 使用<a>标签 锚记后刷新页面 找不到页面
vue项目本地运行没问题,打包到服务器一刷新就报找不到页面
前端页面当浏览器缩小后右侧会有一段空白
SQL Server判断对象是否存在 (if exists (select * from sysobjects )(转)
CSS样式中字体乱码
热门文章
SQL、LINQ、Lambda 三种用法
oracle触发器与:new,:old的使用 --5
oracle中触发器中:new和:old 的使用方法--4
Oracle存储过程 --3
oracle 存储过程和函数例子 --2
oracle存储过程 --1
开机自动挂载新分区的方法
Linux权限_用户_和用户组
新系统的网络配置
Nginx 编译安装
Copyright © 2011-2022 走看看