c# - Bind Checkbox To Bit Field in Database (AJAX) -
c# - Bind Checkbox To Bit Field in Database (AJAX) -
i have checkbox want load check in if entry in gridview has been "processed" (processed means has been checked user). i'm thinking best way have field each row called processed , include checkbox in row. when user checks it, want store 1 in database. also, when loads, want checkbox load check or not depending on field in database. i'm having hard time figuring out how bind these 2 things together...i've looked @ syntax can't exclusively tell going on. have tried it, , doens't seem storing info - because of this, think oncheckedchanged event isn't working or @ all. suggestions?
cs
public partial class vieworders : system.web.ui.page { private string orderbystring; private string fieldstring; private string address; private datagrid datagrid = new datagrid(); protected void page_load(object sender, eventargs e) { orderbystring = orderbylist.selecteditem.value; fieldstring = searchtextbox.text; string sqlstatement = "select fname,lname,zip,email,cwasource,price,length secureorders fname '%" + fieldstring + "%' or lname like'%" + fieldstring + "%' or zip like'%" + fieldstring + "%' or zip like'%" + fieldstring + "%' or email like'%" + fieldstring + "%' or cwasource like'%" + fieldstring + "%' or length like'%" + fieldstring + "%' or cost like'%" + fieldstring + "%' order " + orderbystring; //////////////////////////// connectionstring = rootwebconfig.connectionstrings.connectionstrings["secureodb"]; //test (int = 0; < defaultgrid.rows.count; i++) { checkbox chkupdate = (checkbox)defaultgrid.rows[i].cells[1].findcontrol("checkboxprocess"); if (chkupdate != null) { orderbrowser.text += "test"; } } // create sqlconnection database. using (sqlconnection connection = new sqlconnection(connectionstring.tostring())) { connection.open(); sqldataadapter dataadapter = new sqldataadapter(sqlstatement, connection); // create sqlcommandbuilder - automatically generate // commands, , set appropriate properties in dataadapter sqlcommandbuilder commandbuilder = new sqlcommandbuilder(dataadapter); // create dataset dataset dataset = new dataset(); // fill dataset using our dataadapter dataadapter.fill(dataset, "secureorders"); sqlcommand cmd = new sqlcommand("select * secureorders", connection); // might not need dataview source = new dataview(dataset.tables[0]); defaultgrid.datasource = source; defaultgrid.databind(); } } protected void defaultgrid_selectedindexchanged(object sender, eventargs e) { gridviewrow row = defaultgrid.selectedrow; string name = "name: " + row.cells[2].text + " " + row.cells[3].text + "\r\n"; // if (row.cells[4].text == " ") //{ //address = "address: " + row.cells[3].text + "\r\n " + row.cells[5].text + ", " + row.cells[6].text + " " + row.cells[7].text + " " + row.cells[8].text + "\r\n"; // } //else // { // address = "address: " + row.cells[3].text + "\r\n " + row.cells[4].text + "\r\n " + row.cells[5].text + ", " + row.cells[6].text + " " + row.cells[7].text + " " + row.cells[8].text + "\r\n"; //} string zip = "zip: " + row.cells[4].text + "\r\n"; string email = "email: " + row.cells[5].text + "\r\n"; //string phone = "phone: " + row.cells[10].text + "\r\n"; //string cctype = "credit card type: " + row.cells[11].text + "\r\n"; //string ccnum = "credit card number: " + row.cells[12].text + "\r\n"; //string ccexp = "credit card expiration: " + row.cells[13].text + "\r\n"; string length = "length: " + row.cells[8].text + "\r\n"; //string delivery = "delivery: " + row.cells[15].text + "\r\n"; string cost = "price: " + row.cells[7].text + "\r\n"; string source = "source: " + row.cells[6].text + "\r\n"; //string joined = "joined: " + row.cells[18].text + "\r\n"; //string url = "url: " + row.cells[19].text + "\r\n"; orderbrowser.text = name + email + length + cost + source; } protected void checkboxprocess_checkedchanged(object sender, eventargs e) { checkbox cb = (checkbox)sender; gridviewrow gr = (gridviewrow)cb.namingcontainer; if (cb.checked) { orderbrowser.text = "checked"; } else { orderbrowser.text = "unchecked"; } } } aspx
<%@ page language="c#" autoeventwireup="true" codebehind="vieworders.aspx.cs" inherits="cabot3.custserv.vieworders" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:scriptmanager id = "scriptmanager" runat="server" /> <div> <div> <asp:label runat="server" id = "orderbylabel" text = "order by: " /> <asp:dropdownlist runat="server" id="orderbylist" autopostback="true"> <asp:listitem value="fname" selected="true">first name</asp:listitem> <asp:listitem value="lname">last name</asp:listitem> <asp:listitem value="state">state</asp:listitem> <asp:listitem value="zip">zip code</asp:listitem> <asp:listitem value="cwasource">source</asp:listitem> <asp:listitem value="cwajoined">date joined</asp:listitem> </asp:dropdownlist> </div> <div> <asp:label runat="server" id="searchlabel" text="search for: " /> <asp:textbox id="searchtextbox" runat="server" columns="30" /> <asp:button id="searchbutton" runat="server" text="search" /> </div> <div> <asp:updatepanel id = "up" runat="server"> <contenttemplate> <div style= "overflow:auto; height:150px; width:700px"> <asp:gridview id="defaultgrid" runat = "server" datakeynames = "fname, lname, zip" onselectedindexchanged = "defaultgrid_selectedindexchanged" autogenerateselectbutton = "true" selectedindex="0"> <selectedrowstyle backcolor="azure" forecolor="black" font-bold="true" /> <columns> <asp:templatefield headertext="processed"> <itemtemplate> <asp:checkbox id="checkboxprocess" oncheckedchanged="checkboxprocess_checkedchanged" autopostback="true" runat="server" enabled="true" /> </itemtemplate> </asp:templatefield> </columns> </asp:gridview> </div> <asp:textbox id="orderbrowser" columns="70" rows="14" runat="server" wrap="false" textmode="multiline" readonly = "true"> </asp:textbox> </contenttemplate> </asp:updatepanel> </div> </form> </body> </html>
you can bind value like...
<itemtemplate> <asp:checkbox id="checkboxprocess" oncheckedchanged="checkboxprocess_checkedchanged" checked='<%# eval("fieldname") %>' autopostback="true" runat="server" enabled="true" /> </itemtemplate> secondly update value on checkbox checked/unchecked, can utilize rowcommand event of gridview, can update field in db. e.g.
protected void gridview1_rowcommand(object sender, gridviewcommandeventargs e) { if (e.commandname == "") { } } c# asp.net ajax gridview checkbox
Comments
Post a Comment