UltraWebGrid:如何在列中使用下拉列表
时间:2020-03-05 18:40:31 来源:igfitidea点击:
我正在使用Infragistics网格,并且在使用下拉列表作为我的其中一列的值选择器时遇到了困难。
我尝试阅读文档,但是Infragistics的文档不是很好。我也很幸运地看了这个讨论。
到目前为止,我在做什么:
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) }
当我查看页面时,我希望在此列的单元格中看到一个下拉列表,但是我的列为空。
解决方案
回答
这是我的其中一个页面中的示例:
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");
回答
我发现出了什么问题。
该列必须允许更新。
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
回答
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) { } }