我正在开发一个项目,我需要将BoundDataField添加到GroupField。我知道数据字段名称是什么,我知道我想要添加BoundDataField的GroupField的键,但我不知道该组是否存在。
我需要做的是,按键搜索WebDataGridView以获取GroupField,如果存在则将BoundDataField添加到GroupField,如果GroupField不存在,我需要将GroupField添加到Grid,然后将BoundDataField添加到新创建的GroupField。
有没有办法通过GroupField键递归搜索GroupField的网格?
答案 0 :(得分:3)
您可以使用类似于以下的方法执行此操作,以在网格中搜索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);
}