我正在使用网站(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();
}
试试这个:
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 控件一起使用,而无需创建自己的控件。
您可以使用事件参数 e
e.Item.ItemIndex
它将返回一个整数
希望这会有所帮助