Comment formater des éléments DropDownlist individuels (couleur, etc.) pendant un événement onDataBinding
J'ai une base DropDownList lié à un ObjectDataSource:
<asp:DropDownList ID="DropDownList1" runat="server"
AutoPostBack="True" DataSourceID="objDataSource1"
DataTextField="FieldName" DataValueField="FieldID" />
La Table de données à partir de laquelle il reçoit la DataTextField
et DataValueField
valeurs renvoie également certains autres informations intéressantes sur les enregistrements. Dire Active = Y/N
pour des raisons de simplicité.
Ce que je voudrais faire est de définir la couleur d'arrière-plan de la propriété de la DropDownList Élément basé sur ce champ dans la source de données des résultats. De plus, je tiens à le faire "dans le même passage", comme lors de la DropDownList est liée aux données. Donc, je pense qu'il a de se produire pendant OnDataBound.
Choses que je sais déjà/essayé:
- Je pouvais revenir en arrière et boucle à travers les éléments DropDownList plus tard. Mais cela impliquerait que l'incorporation de boucles et de re-visiter la DataTable lignes et il semble tout à fait inefficace
int row; for (row = 0; row < DropDownList1.Items.Count - 1; row++) { [[if this row = that data row]] DropDownList1.Items[row].[[DoStuffHere, etc.]] }
- Nous avons déjà faire des trucs comme ça avec le GridView
OnRowDataBound
événement, en accédant à laGridViewRowEventArg
s e. Ce qui me semble être manquant est unOnDropDownListItemBound
événement, pour ainsi dire.
Espère que j'ai été clair et concis. Semble comme il devrait être facile...
source d'informationauteur LesterDove
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire pendant OnDataBinding parce que les données n'ont pas été effectivement lié encore. Votre meilleur coup est (1), qui est, l'utilisation OnDataBound et boucle à travers les éléments.
Je suis en utilisant Ce code et ça fonctionne très bien avec moi: