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é:

  1. 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.]]
     }
  2. Nous avons déjà faire des trucs comme ça avec le GridView OnRowDataBound événement, en accédant à la GridViewRowEventArgs e. Ce qui me semble être manquant est un OnDropDownListItemBound événement, pour ainsi dire.

Espère que j'ai été clair et concis. Semble comme il devrait être facile...

source d'informationauteur LesterDove