2010-07-03 62 views
0

我正在使用网站(asp.net,C#)来查看gridview中的一些细节。在该gridview中,我已经动态地生成了复选框。所以它将放置在该GridView中的任何单元格。我发现使用FindControl()在grdview中控制,但我不能得到该单元格索引...现在我想要得到那个放置该复选框的excact单元格索引。我应该如何获得细胞指数?如何在gridview中获取单元格索引

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

在此先感谢。

我为获得控制是代码:

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

在CellValueChanged事件应该有EventArgs的e,e.RowIndex或类似的东西? – 2010-07-03 12:45:23

回答

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.Item.ItemIndex

它会返回一个整数

希望这将有助于

相关问题