0

我正在开发一个需要将 BoundDataField 添加到 GroupField 的项目。我知道数据字段名称是什么,并且我知道要将 BoundDataField 添加到的 GroupField 的键,但我不知道该组是否存在。

因此,我需要做的是,按键在 WebDataGridView 中搜索 GroupField,如果存在,则将 BoundDataField 添加到 GroupField,如果 GroupField 不存在,我需要将 GroupField 添加到 Grid,然后添加BoundDataField 到新创建的 GroupField。

有没有办法通过 GroupField 键递归搜索网格中的 GroupField?

4

1 回答 1

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);
    }
于 2013-08-02T08:33:43.650 回答