我正在使用一些代码来检查 GridViewRow 单元格中的控件。而且我想要一些代码可以按照 (myRow.Cells[0].Controls is BoundField == true) 的方式进行操作。显然这段代码不起作用,我在 Cells 的属性中没有看到任何允许我这样做的东西。是否有一些强制转换或模糊属性允许我检查控件(或其容器)是 TemplateField 还是 Boundfield?
问问题
1480 次
2 回答
3
您可以检查单元格的ContainingField
.
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (DataControlFieldCell cell in e.Row.Cells)
{
if (cell.ContainingField is CommandField)
{
}
else if (cell.ContainingField is BoundField)
{
}
else if (cell.ContainingField is TemplateField)
{
}
}
}
}
于 2013-07-29T19:23:58.700 回答
1
由于您知道单元格的索引(在您的示例中为 0),您可以找到单元格所属的列(通过相同的索引)并检查列的类型:
if (myGrid.Columns[0] is BoundField) {
}
于 2013-07-29T19:20:08.787 回答