c# – 如何获取行数据绑定事件中的单元格的值?以及如何检查一个单元格是否为空?

我使用sqldatasource和一个GridView.
我想从RowViewBound事件中的GridView获取一个单元格的值,因为我不能使用e.RowIndex.

如果单元格为空,请检查updatng事件?
我使用if!= null,但它没有工作,所以我需要检查它是否为空.

谢谢

解决方法

在RowdataBound事件中,您可以使用以下代码从gridview获取单元格的值:

[1] //获取用户名rfom特定行

string servicename = Convert.ToString(DataBinder.Eval(e.Row.DataItem,"Name"));

在RowUpdating事件中,您可以使用以下代码检查单元格是否为空:

string servicename = Grdvw_showdetails.DataKeys[row.RowIndex][1].ToString();

上述代码在行更新事件中使用Datakey.如果您不想使用datakey,则检查特定单元格的代码是否为空

TextBox txtaname = (TextBox)row.FindControl("txt_updname");

 if(txtaname.text != null)

编辑:

这个答案很好.不过,我想补充一点评论.在RowDatabound事件中检查行单元格数据时,该行的DataItem的ItemArray属性不能直接访问.所以当我们这样做的时候,这是没有意义的:string val = e.Row.Cells [2] .Text.ToString();并抛出错误.

这就是这个答案的第一行.[1]

以下屏幕显示当您在调试模式下执行监视时,Row的底层属性的树/层次结构.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...