У меня есть базовый DropDownList, связанный с объектом ObjectDataSource:
<asp:DropDownList ID="DropDownList1" runat="server"
AutoPostBack="True" DataSourceID="objDataSource1"
DataTextField="FieldName" DataValueField="FieldID" />
DataTable, из которого он получает значения DataTextField
и DataValueField
, также возвращает другую интересную информацию о записях. Скажите Active = Y/N
для простоты.
Что я хотел бы сделать, так это установить свойство background-color элемента DropDownList на основе этого поля Active в результатах DataSource. Кроме того, я хотел бы сделать это "в тот же проход", как если DropDownList привязан к данным. Поэтому я предполагаю, что это должно произойти во время OnDataBound.
Вещи, которые я уже знаю/пробовал:
-
Я мог бы вернуться и снова пропустить элементы DropDownList. Но это потребует внедрения циклов и повторного посещения строк DataTable, и это просто кажется неэффективным
int row; for (row = 0; row < DropDownList1.Items.Count - 1; row++) { [[if this row = that data row]] DropDownList1.Items[row].[[DoStuffHere, etc.]] }
-
Мы уже делаем такие вещи с помощью события GridView
OnRowDataBound
, обращаясь кGridViewRowEventArg
e. Кажется, что мне кажется, что отсутствует событиеOnDropDownListItemBound
.
Надеюсь, я был ясен и краток. Кажется, что это должно быть легко...