【问题标题】:How can I get a cell's value in gridview in OnRowDataBound?如何在 OnRowDataBound 的 gridview 中获取单元格的值?
【发布时间】:2015-02-15 03:29:32
【问题描述】:

我有一个包含多行的gridview。我要做的基本上是在gridview中获取一个字符串的特定值,每次更改一行时(使用OnRowDataBound)。

我已经尝试了很多选项,是的,我确实在谷歌上搜索过,但我找不到适合我需要的解决方案。如果您能帮我解决这个问题,我将不胜感激。

我当前的代码(这不起作用,错误消息: 索引超出范围。必须是非负数并且小于集合的大小。 参数名称:索引):

protected void ViewJobs_DataBind(object sender, GridViewRowEventArgs e)
    {
        int index = Convert.ToInt32(e.Row.RowIndex);
        string replymessage = ViewJobs.Rows[index].Cells[1].Text;

        if (!String.IsNullOrEmpty(replymessage))
            IfReply = true;
    }
}

HTML:

    <% if (IfReply == true) { %>
        <span style=" font-weight: bold; font-size: 20px;"> Reply To: <%# Eval("Reply") %>  | By: <%# Eval("Sender") %> </span>
        <% IfReply = false;
    } %>     

如果replymessage在gridview的当前行中不为null,则基本上完成了显示上面的span。

【问题讨论】:

    标签: c# html asp.net gridview


    【解决方案1】:

    如果通过更改行表示“选择任何行”,则每次单击一行时都可以使用选定的索引更改事件。

    aspx 页面:-

    <asp:gridview id="ViewJobs"  runat="server"      
    onselectedindexchanged="ViewJobs_SelectedIndexChanged">
    

    后面的代码:-

    void ViewJobs_SelectedIndexChanged(Object sender, EventArgs e)
    {
       GridViewRow row = ViewJobs.SelectedRow;
       string replymessage = row.Cells[1].Text;
        if (!String.IsNullOrEmpty(replymessage))
            IfReply = true;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-28
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多