【问题标题】:Grid View Selected row cell value getting null网格视图选定的行单元格值变为空
【发布时间】:2023-04-08 21:40:01
【问题描述】:

我的 asp.net 页面中有一个网格。在选定的索引更改事件中,我实现了以下代码。

 int ID = Convert.ToInt32(grdMnaualEntryTransactionTemplate.Rows[selectedIndex +1].Cells[1].Text); 

Cell1 是一个数字, 在运行时它给了我一个错误“输入字符串的格式不正确”。它是由于“文本”在运行时变空而发生的。我在 Selected index changed 事件中也实现了下面的代码,它总是得到一个值。

 int selectedIndex = grdMnaualEntryTransactionTemplate.SelectedIndex;

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    您为什么使用selectedIndex + 1?这将为您提供所选行下方的行,并在用户选择网格中的最后一行时引发异常。

    改用int ID = Convert.ToInt32(grdMnaualEntryTransactionTemplate.Rows[selectedIndex].Cells[1].Text);

    【讨论】:

      【解决方案2】:

      你可以这样使用..这是在gridview中获取所选行数据的简单方法.. 试试下面的代码..

      int ID = Convert.ToInt32(grdMnaualEntryTransactionTemplate.SelectedRow.Cells[1].Text);
      

      【讨论】:

      • @user3383403,嗨,在我的情况下,所有单元格中的文本始终为空,请注意我的网格中有 AutoGenerateColumns = false
      【解决方案3】:

      如果你想要选择的值,那么你可以通过DataKeyName 设置并调用SelectedIndexChanged 事件..

      string data = grdMnaualEntryTransactionTemplate.SelectedValue.ToString();
      

      【讨论】:

        【解决方案4】:

        如果您在网格上有操作按钮,即。选择、编辑等,然后这些将在Rows.Cells[] 数组中。因此,如果每行有三个“选择”“编辑”“删除”按钮,那么您的第一个实际数据单元格将是数组索引 [3]。

        正如其他人指出的那样 index+1 也是不正确的。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-17
          • 2021-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多