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
Post a Comment