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

时间:2010-07-03 11:55:54

标签: c# asp.net

我正在使用网站(asp.net,C#)来查看gridview中的一些细节。在该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();
}

2 个答案:

答案 0 :(得分: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控件,而无需创建自己的。

答案 1 :(得分:0)

您可以使用Event Args e

  

e.Item.ItemIndex

它将返回一个整数

希望这会有所帮助