UltraWebGrid:Como usar uma lista suspensa em uma coluna
-
08-06-2019 - |
Pergunta
Estou usando a grade Infragistics e estou tendo dificuldade em usar uma lista suspensa como seletor de valor para uma de minhas colunas.
Tentei ler a documentação mas a documentação da Infragistics não é tão boa.Eu também dei uma olhada nisso discussão sem sorte.
O que estou fazendo até agora:
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
onde 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)
}
Quando olho para a página, espero ver uma lista suspensa nas células desta coluna, mas minhas colunas estão vazias.
Solução 2
Eu descobri o que estava errado.
A coluna deve permitir atualizações.
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
Outras dicas
Aqui está um exemplo de uma de minhas 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");
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)
{
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow