您可以使用类似于以下的方法在网格中搜索 GroupField 来执行此操作:
public GroupField GetField(string key, GridFieldCollection columns)
{
foreach (GridField column in columns)
{
if (column.GetType().Name == "GroupField")
{
GroupField gf = (GroupField)column;
if (gf.Key == key)
return gf;
else
return GetField(gf.Key, gf.Columns);
}
}
return null;
}
然后,将新列添加到找到的 GroupField 中,或者如果没有找到,则创建一个新列
GroupField gf = GetField("GroupField_0", WebDataGrid1.Columns);
if (gf != null)
{
BoundDataField col = new BoundDataField();
//set up new column here...
gf.Columns.Add(col);
}
else
{
GroupField groupField = new GroupField();
//set up new group field here...
WebDataGrid1.Columns.Add(groupField);
}