【问题标题】:How to Get cell index in gridview如何在gridview中获取单元格索引
【发布时间】:2011-03-11 10:16:49
【问题描述】:

我正在使用网站(asp.net,C#)在 gridview 中查看一些详细信息。在那个gridview中,我动态地生成了复选框。因此它将被放置在该网格视图内的任何单元格中。我通过使用 FindControl() 在 grdview 中找到了该控件,但我无法获得该单元格索引......现在我想获得放置该复选框的那个精确单元格索引。我该如何获得那个单元格索引?

请任何人告诉我这个问题的解决方案。

提前致谢。

我获取该控件的代码是:

if (HeaderCell.Text.Contains(strColumnName))
{
    CheckBox chk = GrdDynamicControls.Rows[index].FindControl(chkCheckBox1.ID) as CheckBox;
    chk.Checked = true;
    strCelValue = chk.Checked.ToString();
}

【问题讨论】:

  • 在 CellValueChanged 事件上应该有 EventArgs e、e.RowIndex 或类似的东西?

标签: c# asp.net gridview


【解决方案1】:

试试这个:

int theCellNumberWhatINeed = -1;
for (int cellNumber = 0; cellNumber < GridView1.Rows[index].Cells.Count; cellNumber++)
{
    foreach (Control ctrl in GridView1.Rows[index].Cells[cellNumber].Controls)
    {
        if (ctrl.ID == "aCheckBox") // or compare by clientid... etc
        {
            theCellNumberWhatINeed = cellNumber;
            break;
        }
    }
}
if (theCellNumberWhatINeed > -1)
{
    // ...
}

不是最优雅的解决方案,但可以与内置的 gridview 控件一起使用,而无需创建自己的控件。

【讨论】:

    【解决方案2】:

    您可以使用事件参数 e

    e.Item.ItemIndex

    它会返回一个整数

    希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多