我正在使用一些代码来检查GridViewRow单元格中的控件。我想要一些代码(myRow.Cells [0] .Controls是BoundField == true)。显然这段代码不起作用,我没有在Cells的属性中看到任何东西,允许我这样做。是否有一些强制转换或模糊属性允许我检查控件(或其容器)是否为TemplateField或Boundfield?
答案 0 :(得分: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)
{
}
}
}
}
答案 1 :(得分:1)
既然您知道了单元格的索引(在您的示例中为0),您可以找到该单元格所属的列(通过相同的索引)并检查该列的类型:
if (myGrid.Columns[0] is BoundField) {
}