获取datatable的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取datatable的值相关的知识,希望对你有一定的参考价值。

protected DataTable datatable()

DataTable dt = new DataTable();
dt.Columns.Add(...);
...
创建datatable
在gridview_updating()

DataTable dt = datatable();
DataRow dr = dt.NewRow();
dr[1] = ...;
...
dt.Rows.Add(dr);

protected void button_click

在这个方法怎样可以获得刚刚给datatable附值的数据?

方法:
比如你的datatable为T
column c=T.Cloumes[\'列名\'];
c就是你相要的东西,如果它只有一个值的话,可以是:
类型 c=T.Cloumes[\'列名\'].rows[0].Value;
对datatable里面的表进行排序:
一、重生法
dstaset.Tables.Add(dt)
dataset.Tables(0).DefaultView.Sort = "id desc"

二、直接法
dv = New DataView(dt)
dv.Sort = "id desc"
参考技术A 把这个datatable设置为这个类的属性就行了。
如:

private DataTable dt;

protected DataTable datatable()

dt = new DataTable();
dt.Columns.Add(...);
...
创建datatable
在gridview_updating()

dt = datatable();
DataRow dr = dt.NewRow();
dr[1] = ...;
...
dt.Rows.Add(dr);

protected void button_click

//这里你就可以直接取值
dt 就是这个赋值过的datatable
追问

但是dt.Row.Count=0

追答

我问一下,你这个是程序还是网页?
网页里面dt是保存不了的,需要重新赋值。

程序里面的话,这个方法需要改一下。
如下:
gridview_updating()

//dt = datatable(); 把这里注释掉
DataRow dr = dt.NewRow();
dr[1] = ...;
...
dt.Rows.Add(dr);


还不行,你可以把代码上下文发给我,我帮你解决。

追问

是页面的
给个邮箱吧。。很急。。

追答

luoxk11#qq#com
改成@

本回答被提问者采纳
参考技术B 代码里面的dt都是局部变量哈,button_click方法是不能访问的
是一个静态属性定义dt
protected static DataTable dt = new DataTable();

protected DataTable datatable()

dt.Columns.Add(...);
...


gridview_updating()

DataRow dr = dt.NewRow();
dr[1] = ...;
...
dt.Rows.Add(dr);


protected void button_click

for (int i = 0; i < dt.Rows.Count; i++)

string value = dt.Rows[i][0].ToString();//获取i行0列的数据

参考技术C dt.Rows[0]["列名"].ToString() 参考技术D if(dt.Rows.Count>0)

//dt.Rows[0]["列明/索引"].ToString();//取第一行

for(int c=0;c<dt.Rows.Count;c++)

dt.Rows[c]["列明/索引"].ToString();//循环取所有行。

追问

dt.Rows.Count=0

追答

赋值和取值的执行顺序有问题吧?或者压根就没赋进去。把详细代码贴来。
网页文件需要将DataTable dt 设置为全局静态变量。
否则你这样是取不到值的。赋值后,点击按钮会刷新页面,DataTable立马会被清空。
private static DataTable dt;

C#如何获取datatable指定行的值

/定义表
DataTable dt = new DataTable();

//填充表

//获得行
DataRow dr1 = dt.Rows.Find("Key");
DataRow dr2 = dt.Rows[0];

//获得列数据
string colString1 = dr1[1].ToString();
string colString2 = dr1["ColumnName"].ToString();
参考技术A 写存储过程,用游标操作数据,C#调用
http://www.yesky.com/imagesnew/software/tsql/ts_fa-fz_90rs.htm
http://zhidao.baidu.com/question/156921455.html
参考技术B e.rows 参考技术C 使用游标

以上是关于获取datatable的值的主要内容,如果未能解决你的问题,请参考以下文章

C#如何获取datatable指定行的值

jquery datatable 如何获取隐藏列的值

获取DataTable中隐藏列的值

怎么获取DataTable中某一字段的值

jquerydatatable 获取隐藏列

从datatable里取某行某列的值