2013-07-03 22 views
0

我正在處理一個需要將BoundDataField添加到GroupField的項目。我知道數據字段的名稱是什麼,並且我知道GroupField的關鍵字是要添加BoundDataField,但我不知道該組是否存在。通過GroupField鍵遞歸搜索Infragistics WebDataGridView for GroupField

因此,我需要做的是通過鍵爲GroupField搜索WebDataGridView,如果存在,則將BoundDataField添加到GroupField,並且如果GroupField不存在,則需要將GroupField添加到Grid,然後將BoundDataField添加到新創建的GroupField。

有沒有辦法通過GroupField鍵遞歸搜索GroupField的網格?

回答

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); 
    }