part of issue stemming embedding gridview in formview , running sql on gridview controls.
girdview markup:
<asp:gridview id="gvbfprod" runat="server" showfooter="true" autogeneratecolumns="false" datakeynames="bfprodid" datasourceid="bfprodsql" onrowcommand="gvbfprod_rowcommand"> <columns> <asp:templatefield showheader="false"> <edititemtemplate> <asp:linkbutton id="linkbutton1" runat="server" causesvalidation="true" commandname="update" text="save"></asp:linkbutton> <asp:linkbutton id="linkbutton2" runat="server" causesvalidation="false" commandname="cancel" text="cancel"></asp:linkbutton> </edititemtemplate> <footertemplate> <asp:linkbutton id="buttonadd" runat="server" commandname="footerinsert" text="insert" /> </footertemplate> <itemtemplate> <asp:linkbutton id="linkbutton1" runat="server" causesvalidation="false" commandname="edit" text="edit"></asp:linkbutton> <asp:linkbutton id="linkbutton2" runat="server" causesvalidation="false" commandname="delete" text="delete"></asp:linkbutton> </itemtemplate> </asp:templatefield> ...
codebehind
private gridview gvbfprod; protected void gvbfprod_rowcommand(object sender, gridviewcommandeventargs e) { gvbfprod = formview1.row.findcontrol("gvbfprod") gridview; if (e.commandname == "footerinsert" && page.isvalid) { // reference gridview controls textbox txtbfid = (textbox)formview1.row.findcontrol("txtbfid"); dropdownlist ddlseries = (dropdownlist)gvbfprod.footerrow.findcontrol("ddlfooterseries"); textbox txtacmwelders = (textbox)gvbfprod.footerrow.findcontrol("txtfooteracmwelders"); .... // update insertparameters bfprodsql.insertparameters.clear(); bfprodsql.insertparameters.add("bfid", txtbfid.text); bfprodsql.insertparameters.add("seriesid", ddlseries.selectedvalue); bfprodsql.insertparameters.add("numacmwelders", txtacmwelders.text); ... // insert new record bfprodsql.insert(); } }
the initial private gridview gvbfprod;
necessary give context gridview control references due being embedded in formview. however, either isn't passing correctly or there's more need private gridview gvbfprod;
line. i'm thinking latter once project built, green squiggly under gvbfprod stating field never assigned to, , have default value null. , of course when click on insert linkbutton, unhandled null exception error breaks @ (dropdownlist)gvbfprod.footerrow....
line.
do need build get/set funtions gvbfprod or there different way of passing gridview?
found causing original null exception errors. missing definition of gvbfprod in codebehind.
specifically:
private gridview gvbfprod; protected void gvbfprod_rowcommand(object sender, gridviewcommandeventargs e) { gvbfprod = formview1.row.findcontrol("gvbfprod") gridview; ....
now i'm getting different null reference exception on dropdown lists, that's different issue.
Comments
Post a Comment