Je suis assez sûr que la réponse est non, mais juste pour être clair; Je suis confus.
Si votre fournisseur de données contient des objets comme celui-ci:
{label:"one", data:1}
Tout d'abord, cette syntaxe va créer un objet générique sans personnalisation. Si aucune des propriétés de cet objet n'est explicitement définie, aucune d'entre elles ne peut implémenter la balise de métadonnées Bindable. Par conséquent, lorsqu'elle est utilisée comme source pour la liaison de données, la cible ne sera jamais mise à jour. En second lieu, même si vous avez créé votre propre objet non générique avec des propriétés pouvant être liées, la liaison ne va généralement pas à plusieurs niveaux dans les propriétés d'un tableau.
L'élément selected pointera sur un objet comme dans votre _dataProvider
, ou éventuellement null, en fonction de l'interaction de l'utilisateur avec dropDownList. La liaison de l'élément selectedItem à une propriété à l'intérieur de l'élément n'a pas de sens; parce que vous seriez en train de comparer un littéral à un objet et que rien ne serait jamais sélectionné.
Je ne suis pas clair, sans regarder, ce qui se passe dans le DropDownList lorsque vous essayez de définir selectedItem à un élément qui ne se trouve pas dans votre dataProvider. J'imagine que cela réinitialise la sélection, cependant.
Si vous pouvez développer ce que vous essayez d'accomplir exactement, nous pouvons être en mesure d'aider davantage.
Bind à quoi, exactement? Ce que je pense que vous décrivez est mieux géré en ajoutant un écouteur à l'événement de modification de DropDownList. – Robusto