2008-08-18 29 views
3

我正在使用Infragistics网格,并且遇到困难时使用下拉列表作为我的其中一列的值选择器。UltraWebGrid:如何在列中使用下拉列表

我试过阅读文档,但Infragistics的文档不太好。我也看过这个discussion没有运气。

我在做什么至今:

col.Type = ColumnType.DropDownList; 
col.DataType = "System.String"; 

col.ValueList = myValueList; 

其中myValueList是:

ValueList myValueList = new ValueList(); 

myValueList.Prompt = "My text prompt"; 
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText; 

foreach(MyObjectType item in MyObjectTypeCollection) 
{ 
    myValueList.ValueItems.Add(item.ID, item.Text); // Note that the ID is a string (not my design) 
} 

当我看网页,我希望看到在细胞中的下拉列表本专栏,但我的专栏是空的。

回答

1

我发现什么是错误的。

该列必须允许更新。

uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes; 
2

下面是一个例子,从我的网页之一:

UltraWebGrid uwgMyGrid = new UltraWebGrid(); 
uwgMyGrid.Columns.Add("colTest", "Test Dropdown"); 
uwgMyGrid.Columns.FromKey("colTest").Type = ColumnType.DropDownList; 
uwgMyGrid.Columns.FromKey("colTest").ValueList.ValueListItems.Insert(0, "ONE", "Choice 1"); 
uwgMyGrid.Columns.FromKey("colTest").ValueList.ValueListItems.Insert(1, "TWO", "Choice 2"); 
0
public void MakeCellValueListDropDownList(UltraWebGrid grid, string columnName, string valueListName, string[] listArray) 
    { 
     //Set the column to be a dropdownlist 
     UltraGridColumn Col = grid.Columns.FromKey(columnName);    
     Col.Type = ColumnType.DropDownList; 
     Col.DataType = "System.String"; 

     try 
     { 
      ValueList ValList = grid.DisplayLayout.Bands[0].Columns.FromKey(columnName).ValueList; 
      ValList.DataSource = listArray; 
      foreach (string item in listArray) 
      { 
       ValList.ValueListItems.Add(item); 
      } 
      ValList.DataBind(); 
     } 
     catch (ArgumentException) 
     { 

     } 
    }