Configuração Fácil de Listas Suspensas no UltraWebGrid
Se você está atualmente usando o UltraWebGrid
da Infragistics e está enfrentando dificuldades ao implementar uma lista suspensa em uma de suas colunas, você não está sozinho. Muitos desenvolvedores encontram desafios semelhantes devido às complexidades envolvidas no uso de componentes de grade de terceiros. Enquanto a documentação oficial pode ser menos útil, este guia tem como objetivo esclarecer seu caminho, capacitando você a implementar corretamente uma lista suspensa nas colunas da sua grade.
Compreendendo o Problema
Na sua tentativa de configurar uma lista suspensa, você pode perceber que o drop-down não exibe os valores esperados. Aqui está o que você provavelmente tem em seu código:
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
E você pode ter construído myValueList
assim:
ValueList myValueList = new ValueList();
myValueList.Prompt = "Meu texto de prompt";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text); // Note que o ID é uma string (não é meu design)
}
No entanto, as células da sua coluna parecem vazias quando renderizadas na página. O que pode estar dando errado?
Solução: Permitir Atualizações de Coluna
O problema muitas vezes se resume a um detalhe simples, mas crucial: a coluna deve permitir atualizações. Se as atualizações não forem permitidas, o UltraWebGrid
não renderizará corretamente a lista suspensa.
Veja como habilitar atualizações para sua coluna:
Você precisa definir a propriedade AllowUpdate
para a coluna específica como Yes
. Isso pode ser feito com a seguinte linha de código:
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
Colocando Tudo Junto
Para garantir que sua lista suspensa apareça corretamente, incorpore os seguintes passos:
- Defina Sua Coluna de Lista Suspensa: Como você já fez.
- Defina o ValueList: Como você fez com
myValueList
. - Habilite Atualizações: Certifique-se de adicionar a configuração
AllowUpdate
à sua configuração de coluna.
Exemplo de Código
Aqui está um exemplo consolidado:
// Configuração da coluna
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
// Permitir atualizações para a coluna
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
// Criando o ValueList
ValueList myValueList = new ValueList();
myValueList.Prompt = "Meu texto de prompt";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text);
}
Conclusão
Implementar uma lista suspensa no UltraWebGrid
pode ser uma tarefa complicada, mas com essa lista de verificação e exemplos de código, você deve ser capaz de superar os desafios. Lembre-se, sempre assegure-se de que as atualizações estão habilitadas para a coluna — muitas vezes, são as pequenas coisas que fazem uma grande diferença!
Com essa abordagem, você agora deve ver as listas suspensas desejadas populadas nas células da sua grade. Se você encontrar mais problemas, revisar suas propriedades de grade e coluna pode ajudar a resolver quaisquer problemas persistentes.