我正在使用网站(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();
}
答案 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
它将返回一个整数
希望这会有所帮助