Tengo un DropDownList básico unido a un ObjectDataSource:Cómo dar formato a los elementos individuales DROPDOWNLIST (color, etc.) durante el evento OnDataBinding
<asp:DropDownList ID="DropDownList1" runat="server"
AutoPostBack="True" DataSourceID="objDataSource1"
DataTextField="FieldName" DataValueField="FieldID" />
El DataTable de la que recibe el DataTextField
y DataValueField
valores también devuelve algún otro información interesante sobre los registros. Diga Active = Y/N
por simplicidad.
Lo que me gustaría hacer es establecer la propiedad background-color del artículo DropDownList basado en ese campo Activo en los resultados de DataSource. Además, me gustaría hacer esto "en el mismo paso" que cuando DropDownList está vinculado a los datos. Así que supongo que tiene que suceder durante OnDataBound.
cosas que ya sabe/intentado:
pudiera volver atrás y recorrer los elementos DropDownList más tarde. Pero implicaría la incorporación de bucles y volver a visitar las filas DataTable y que sólo parece ineficiente
int row; for (row = 0; row < DropDownList1.Items.Count - 1; row++) { [[if this row = that data row]] DropDownList1.Items[row].[[DoStuffHere, etc.]] }
Ya hacemos este tipo de cosas con el evento GridView
OnRowDataBound
, accediendo a laGridViewRowEventArg
s e. Lo que parece que me falta es un eventoOnDropDownListItemBound
, por así decirlo.
Espero que haya sido claro y conciso. Parece como si debe ser fácil ...
Gracias por la unión frente a la corrección Bound. Editando eso. Supongo que mi pregunta sigue siendo si hay una forma de manejar cada artículo individual como está vinculado, de forma muy similar a lo que puede hacer con las filas individuales de un Gridview. Si tal cosa no se presenta, tendré que escribir – LesterDove
@LesterDove Por lo que puedo decir de MSDN, no existe tal cosa como ItemDataBound para el control DropDownList o la clase ListItemCollection, que son los elementos que se guardan por la lista desplegable. –
Gracias. Siendo este el caso, evitaré unir el control por completo y llenarlo programáticamente para que pueda realizar esos ajustes condicionales sobre la marcha. – LesterDove