Configuration facile des listes déroulantes dans UltraWebGrid
Si vous utilisez actuellement le UltraWebGrid
d’Infragistics et que vous rencontrez des difficultés pour implémenter une liste déroulante dans l’une de vos colonnes, vous n’êtes pas seul. De nombreux développeurs rencontrent des défis similaires en raison des complexités liées à l’utilisation de composants de grille tiers. Bien que la documentation officielle puisse être peu utile, ce guide vise à clarifier votre chemin, vous permettant d’implémenter correctement une liste déroulante dans vos colonnes de grille.
Comprendre le problème
Dans votre tentative de configurer une liste déroulante, vous pouvez constater que la liste déroulante n’affiche pas les valeurs attendues. Voici ce que vous avez probablement dans votre code :
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
Et vous avez peut-être construit myValueList
comme ceci :
ValueList myValueList = new ValueList();
myValueList.Prompt = "Mon texte d'invite";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text); // Notez que l'ID est une chaîne (pas ma conception)
}
Cependant, les cellules de votre colonne apparaissent vides lorsqu’elles sont rendues sur la page. Que pourrait-il se passer ?
Solution : Autoriser les mises à jour de colonne
Le problème se résume souvent à un détail simple mais crucial : la colonne doit autoriser les mises à jour. Si les mises à jour ne sont pas autorisées, le UltraWebGrid
ne pourra pas rendre correctement la liste déroulante.
Voici comment activer les mises à jour pour votre colonne :
Vous devez définir la propriété AllowUpdate
pour la colonne spécifique sur Yes
. Cela peut être fait avec la ligne de code suivante :
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
Rassembler le tout
Pour garantir que votre liste déroulante apparaît correctement, incorporez les étapes suivantes :
- Définissez votre colonne de liste déroulante : Comme vous l’avez fait.
- Définissez le ValueList : Comme vous l’avez fait avec
myValueList
. - Activez les mises à jour : Assurez-vous d’ajouter le paramètre
AllowUpdate
à votre configuration de colonne.
Exemple de code
Voici un exemple consolidé :
// Configuration de la colonne
col.Type = ColumnType.DropDownList;
col.DataType = "System.String";
col.ValueList = myValueList;
// Autoriser les mises à jour pour la colonne
uwgMyGrid.Columns.FromKey("colTest").AllowUpdate = AllowUpdate.Yes;
// Création du ValueList
ValueList myValueList = new ValueList();
myValueList.Prompt = "Mon texte d'invite";
myValueList.DisplayStyle = ValueListDisplayStyle.DisplayText;
foreach(MyObjectType item in MyObjectTypeCollection)
{
myValueList.ValueItems.Add(item.ID, item.Text);
}
Conclusion
Implémenter une liste déroulante dans le UltraWebGrid
peut être une tâche délicate, mais avec cette liste de contrôle et ces exemples de code, vous devriez être en mesure de surmonter les obstacles. N’oubliez pas de vous assurer que les mises à jour sont activées pour la colonne : souvent, ce sont les petits détails qui font une grande différence !
Avec cette approche, vous devriez maintenant voir les listes déroulantes souhaitées peuplées dans les cellules de votre grille. Si vous rencontrez d’autres problèmes, revoir vos propriétés de grille et de colonne pourrait aider à résoudre les problèmes persistants.