c# - How do I change the forecolor of a control in a .NET Grid View? -


how access control in grid view can change it's forecolor? in code below, findcontrol() returns null.

protected void mileagerowbound(object sender, gridviewroweventargs e) {     (e.row.cells[1].findcontrol("ddlstatecode") dropdownlist).forecolor = system.drawing.color.lightblue; } 

i have tried e.row.findcontrol("ddlstatecode") , few other variations. i'm stumped.

someone asked markup:

<asp:gridview runat="server" onprerender="grvstatewisemileage_onprerender" onrowcommand="grvstatewisemileage_onrowcommand"                                             cssclass="gridviewstyle" borderwidth="1" width="100%" id="grvstatewisemileage"                                                 autogeneratecolumns="false" rowstyle-height="25px" showheader="false" onrowdatabound="mileagerowbound">                                             <columns>                                                     <asp:templatefield>                                                         <itemstyle cssclass="gridviewrowstyle" width="5%" />                                                     <itemtemplate>                                                         <asp:label id="lblline" runat="server" onkeyup="javascript:validatedecimal(this)"                                                             text='<%# eval("line#") %>'></asp:label>                                                         <asp:imagebutton runat="server" id="imgbtnmileagedelete" imageurl="images/delete.png" />                                                         <asp:hiddenfield runat="server" id="hdnfuelmileagecode" value='<% #eval("fuelmileagecode") %>' />                                                         <asp:hiddenfield runat="server" id="hdnmileagecode" value='<% # eval("mileagecode") %>' />                                                         <asp:hiddenfield runat="server" id="hdnmileageposted" value='<% # eval("mileageposted") %>' />                                                     </itemtemplate>                                                 </asp:templatefield>                                                     <asp:templatefield>                                                     <itemstyle cssclass="gridviewrowstyle" width="10%" />                                                     <itemtemplate>                                                         <asp:dropdownlist runat="server" onload="ddlstatecode_onload" id="ddlstatecode" style="border: none;                                                             border-width: 0px; width: 100px">                                                         </asp:dropdownlist>                                                         <asp:hiddenfield runat="server" id="hdnstatecode" value='<% # eval("state")%>' />                                                     </itemtemplate>                                                 </asp:templatefield>                                                     <asp:templatefield>                                                     <itemstyle cssclass="gridviewrowstyle" width="10%" />                                                     <itemtemplate>                                                         <bdp:basicdatepicker id="bdpmileagedate" runat="server">                                                         </bdp:basicdatepicker>                                                         <asp:hiddenfield runat="server" id="hdnmileagedate" value='<% # eval("date")%>' />                                                     </itemtemplate>                                                 </asp:templatefield>                                                 <asp:templatefield>                                                     <itemstyle cssclass="gridviewrowstyle" width="10%" />                                                     <itemtemplate>                                                         <asp:textbox id="txtmiles" style="border: none; border-width: 0px; text-align: right"                                                             width="90%" runat="server" maxlength="12" onkeyup="javascript:validatedecimal(this)"                                                             text='<%# eval("miles") %>' onblur="postbackhiddenfield('hdnstatewisemileage')"                                                             onkeydown="return postbackhiddenfieldforentermiles(event)"></asp:textbox>                                                         <cc1:filteredtextboxextender runat="server" filtermode="validchars" filtertype="custom, numbers"                                                             validchars="." targetcontrolid="txtmiles">                                                         </cc1:filteredtextboxextender>                                                     </itemtemplate>                                                 </asp:templatefield>                                                 <asp:templatefield>                                                     <itemstyle cssclass="gridviewrowstyle" width="10%" />                                                     <itemtemplate>                                                         <asp:dropdownlist runat="server" id="ddlloadstatus" style="border: none; border-width: 0px;                                                             width: 100px">                                                             <asp:listitem selected="true" text="loaded" value="1"></asp:listitem>                                                             <asp:listitem text="empty" value="2"></asp:listitem>                                                             <asp:listitem text="toll" value="3"></asp:listitem>                                                         </asp:dropdownlist>                                                         <asp:hiddenfield runat="server" id="hdnmileagetype" value='<% # eval("loadstatus")%>' />                                                     </itemtemplate>                                                 </asp:templatefield>                                             </columns>                                             <footerstyle borderstyle="none" backcolor="white" />                                         </asp:gridview> 

try wrap line of code in

if(e.row.rowtype == datacontrolrowtype.datarow)  {       (e.row.findcontrol("ddlstatecode") dropdownlist).forecolor = system.drawing.color.lightblue;  } 

so skip header (and footer , few others).


Comments