Je travaille actuellement avec un contrôle qui hérite de DropDownList (il a quelques fonctionnalités supplémentaires qui ne sont pas vraiment pertinentes à cette question, mais cela me donne un bon endroit pour mettre en œuvre les choses supplémentaires dont je vais discuter).DropDownList: DataTextField, DataValueField ... DataEnabledField?
Nous utilisons la liaison de données, DataTextField et DataValueField fonctionnant parfaitement. Cependant, je me trouve dans le besoin d'un champ similaire qui contrôlera si l'élément est activé ou non. (J'ai déjà remplacé la méthode RenderContents du contrôle afin qu'il rende correctement les éléments non activés, puisque DropDownList ne le fait pas par défaut.)
Ainsi, je voudrais savoir comment remplacer la liaison de données de DropDownList il agit donc exactement comme d'habitude, sauf qu'un champ supplémentaire de chaque élément DataSource est appliqué à la propriété Enabled de chaque ListItem. (NB: le champ auquel je me lierai n'est pas un booléen direct, et n'a pas de conversion explicite/implicite en booléen, donc je vais probablement le "passer" comme une chaîne.)
Merci de m'avoir indiqué la bonne direction; Je l'ai maintenant fait ce que je veux :) Après l'appel de base, je suppose que les éléments de la liste sont dans le même ordre que la source de données IEnumerable, mais cela semble fonctionner. – Rawling
Heh, et après avoir vérifié Reflector j'ai vu que je n'ai même pas besoin de surcharger RenderContents car il fait vraiment attention au champ Enabled - je dois avoir foiré quand je testais auparavant. – Rawling
Je suis content que vous l'ayez fait fonctionner :) – Slavo