如何在gridview中获取单元格索引

问题描述 投票:0回答:2

我正在使用网站(asp.net,C#)在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();
}
c# asp.net gridview
2个回答
0
投票

试试这个:

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 控件一起使用,而无需创建自己的控件。


0
投票

您可以使用事件参数 e

e.Item.ItemIndex

它将返回一个整数

希望这会有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.