首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DataGrid ItemDataBound事件检查值

使用DataGrid ItemDataBound事件检查值
EN

Stack Overflow用户
提问于 2013-08-16 01:35:59
回答 3查看 13.1K关注 0票数 2

我有一个数据源绑定到SqlDataReader对象的DataGrid:

代码语言:javascript
复制
  SqlDataReader areader = runner.Reader;
  dgSearchResults.DataSource = areader;
  dgSearchResults.DataBind();

我已经为我的网格创建了一个ItemDataBound事件,我想要检查一个特定列/单元格的值,当每一项都被绑定时,我可以启用/禁用一些标志。

如何在ItemDataBound上获取特定单元格"SvcID“的值?

下面是我的代码:

代码语言:javascript
复制
 public void dgSearchResults_ItemDataBound(object sender,  DataGridItemEventArgs e)
    {

        if (ViewState["SvcIDs"] != null)
        {
            if (e.Item != null)
            {
                var svcIds = (List<int>) ViewState["SvcIDs"];

                if (svcIds.Contains(Convert.ToInt32(**DataGrid SvcID Goes Here**))
                {
                    //TODO: enable/disable some icons
                }
            }
        }
    }

我以前使用过RowDataBound事件,但不是用于DataGrid控件,而且所需的步骤看起来有点不同。

根据我的SvcIds (使用索引)列表检查我的DataGrid中"SvcID“列的值的代码是什么?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-16 01:45:41

您可以使用以下命令访问单元格:

代码语言:javascript
复制
e.Item.Cells[index].Text;

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datagriditemeventargs.item.aspx

票数 3
EN

Stack Overflow用户

发布于 2013-08-16 01:47:07

如果您的文本在第二个单元格中。

例如e.Item.Cells2.Text

票数 1
EN

Stack Overflow用户

发布于 2013-08-16 01:40:58

不幸的是,您不能使用列名或数据绑定字段名来索引Cell集合。

为此,您需要知道数据字段的索引(例如,在本例中为SvcID ),并对Row对象进行索引。如果您使用的是AutogenerateColumns,那么索引将基于您从数据库查询的列的顺序。

然后可以处理RowDataBound事件,该事件有一个GridViewRowEventArgs类型的事件参数,允许您访问DataGridView行实例。然后你可以这样做:

代码语言:javascript
复制
string val= e.Row.Cells(index).Text;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18258333

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档