asp.net - how to retrieve the updated data from the gridbox and update it in the database -
my code returns data has got database unable updated data gridcontrol.
this default.aspx designing has been done of gridview.
<asp:content id="headercontent" runat="server" contentplaceholderid="headcontent"> </asp:content> <asp:content id="bodycontent" runat="server" contentplaceholderid="maincontent"> <asp:gridview id="gridview1" runat="server" autogeneratecolumns="false" onrowupdating="gridview1_rowupdating" onrowediting="gridview1_rowediting" onrowupdated="gridview1_rowupdated" onrowcommand="gridview1_rowcommand"> <columns> <asp:commandfield showeditbutton="true" showdeletebutton="true" showinsertbutton="true" /> <asp:templatefield headertext="id" sortexpression="id"> <itemtemplate> <asp:label id="lbl_id" text='<%# bind("id")%>' runat="server"> </asp:label> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="name" sortexpression="name"> <itemtemplate> <asp:label id="lbl_name" text='<%# bind("name")%>' runat="server"></asp:label> </itemtemplate> <edititemtemplate> <asp:textbox id="txt_name" text='<%# bind("name")%>' runat="server"></asp:textbox> </edititemtemplate> </asp:templatefield> <asp:templatefield headertext="address" sortexpression="address"> <itemtemplate> <asp:label id="lbl_address" text='<%# bind("address")%>' runat="server"></asp:label> </itemtemplate> <edititemtemplate> <asp:textbox id="txt_address" text='<%# bind("address")%>' runat="server"></asp:textbox> </edititemtemplate> </asp:templatefield> </columns> </asp:gridview> <asp:label id="lbl_msg" runat="server"></asp:label> </asp:content> my.cs file
my code row updating method in below class. have used entity framework method having manipulations in data base.
using system; using system.collections.generic; using system.linq; using system.web; using system.web.ui; using system.web.ui.webcontrols; using databasemodel; public partial class _default : system.web.ui.page { databaseentities obj; protected void page_load(object sender, eventargs e) { obj = new databaseentities(); gridview1.datasource = obj.records.tolist(); gridview1.databind(); } string data; protected void gridview1_rowediting(object sender, gridviewediteventargs e) { } protected void gridview1_rowupdating(object sender, gridviewupdateeventargs e) { gridviewrow row = gridview1.rows[e.rowindex]; textbox name = row.findcontrol("txt_name") textbox; textbox address = row.findcontrol("txt_address") textbox; label id = row.findcontrol("lbl_id") label; int no = int.parse(id.text); record rec = obj.records.first(x => x.id == no); rec.name = name.text; rec.address = address.text; obj.savechanges(); data = name.text; lbl_msg.text = name.text; } protected void gridview1_rowupdated(object sender, gridviewupdatedeventargs e) { } protected void gridview1_rowcommand(object sender, gridviewcommandeventargs e) { } }
you have problem in linq query, use lambda expression , use this:
protected void page_load(object sender, eventargs e) { // not rebind data on postback if (!ispostback) { obj = new databaseentities(); gridview1.datasource = obj.records.tolist(); gridview1.databind(); } }
Comments
Post a Comment