validacion usando sugerencias multiple listas listado lista habilitar extraer dinamicas desplegables desplegable dependientes datos condicionada con búsqueda buscav c# asp.net grid infragistics ultrawebgrid

c# - usando - UltraWebGrid: Cómo usar una lista desplegable en una columna



lista desplegable excel condicionada (3)

Estoy usando la grilla Infragistics y estoy teniendo dificultades para usar una lista desplegable como selector de valor para una de mis columnas.

Intenté leer la documentación, pero la documentación de Infragistics no es tan buena. También he echado un vistazo a esta discusión sin suerte.

Lo que estoy haciendo hasta ahora

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

donde myValueList es:

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

Cuando miro la página, espero ver una lista desplegable en las celdas de esta columna, pero mis columnas están vacías.


Aquí hay un ejemplo de una de mis páginas:

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


He encontrado lo que estaba mal.

La columna debe permitir actualizaciones.

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