Click here to Skip to main content
15,881,089 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi All,
I am binding a gridview using jquery with Search and Filter .However it is binding data.But when I add a Checkbox field to the Gridview it is not binding.Could someone help me please.Thanks in advance.

What I have tried:

<asp:GridView ID="gvCustomers" CssClass="mydatagrid" RowStyle-Height="50px" Width="100%" runat="server" AutoGenerateColumns="false">
         <Columns>
             <%--<asp:TemplateField HeaderStyle-HorizontalAlign="Center" HeaderText="SlNo." 
              ItemStyle-HorizontalAlign="Center" ItemStyle-Width="30px">
             <ItemTemplate>
            <%# Container.DataItemIndex + 1%>
            </ItemTemplate>
            <HeaderStyle HorizontalAlign="Center" Width="3%" />
            <ItemStyle HorizontalAlign="Center" />
            </asp:TemplateField>--%>
           <asp:BoundField HeaderStyle-Width="150px" DataField="IN005_01" HeaderText="CustomerID" />
        <asp:BoundField HeaderStyle-Width="150px" DataField="IN005_02" HeaderText="Contact Name"
         ItemStyle-CssClass="ContactName" />
       
         <asp:BoundField HeaderStyle-Width="150px" DataField="IN001_02" HeaderText="Category" />
              
         <asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="3%">
          <HeaderTemplate>
          <asp:CheckBox ID="chk_All" runat="server" AutoPostBack="True" oncheckedchanged="chk_All_CheckedChanged"  />
          </HeaderTemplate>
           <ItemTemplate>
           <asp:CheckBox ID="chk_select" OnCheckedChanged="chk_select_CheckedChanged" AutoPostBack="True" runat="server"  />
           </ItemTemplate>
           <ItemStyle HorizontalAlign="Center" Width="3%" />
           </asp:TemplateField>
         </Columns>
         </asp:GridView>





 <script type="text/javascript">
        $(function () {
            GetCustomers(1);
        });
        $("[id*=txtSearch]").live("keyup", function () {
            GetCustomers(parseInt(1));
        });
        $(".Pager .page").live("click", function () {
            GetCustomers(parseInt($(this).attr('page')));
        });
        function SearchTerm() {
            return jQuery.trim($("[id*=txtSearch]").val());
        };
        function GetCustomers(pageIndex) {
            $.ajax({
                type: "POST",
                url: "SalaryAddition.aspx/GetCustomers",
                data: '{searchTerm: "' + SearchTerm() + '", pageIndex: ' + pageIndex + '}',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert(response.d);
                },
                error: function (response) {
                    alert(response.d);
                }
            });
        }
        var row;
        function OnSuccess(response) {
            var xmlDoc = $.parseXML(response.d);
            var xml = $(xmlDoc);
            var customers = xml.find("Customers");
            if (row == null) {
                row = $("[id*=gvCustomers] tr:last-child").clone(true);
            }
            $("[id*=gvCustomers] tr").not($("[id*=gvCustomers] tr:first-child")).remove();
            if (customers.length > 0) {
                $.each(customers, function () {
                    var customer = $(this);
                   
                    $("td", row).eq(0).html($(this).find("IN005_01").text());
                    $("td", row).eq(1).html($(this).find("IN005_02").text());
                    $("td", row).eq(2).html($(this).find("IN001_02").text());
                    $("td", row).find('[id*=chkStatus]').attr('checked', $(this).find("Status").text());
                   // $("td", row).find('[id*=chk_select]').attr('checked',$(this));
                   // $("td", row).eq(3).html($(this).find("chk_select").text());
                    $("[id*=gvCustomers]").append(row);
                    row = $("[id*=gvCustomers] tr:last-child").clone(true);
                });
                var pager = xml.find("Pager");
                $(".Pager").ASPSnippets_Pager({
                    ActiveCssClass: "current",
                    PagerCssClass: "pager",
                    PageIndex: parseInt(pager.find("PageIndex").text()),
                    PageSize: parseInt(pager.find("PageSize").text()),
                    RecordCount: parseInt(pager.find("RecordCount").text())
                });

                $(".ContactName").each(function () {
                    var searchPattern = new RegExp('(' + SearchTerm() + ')', 'ig');
                    $(this).html($(this).text().replace(searchPattern, "" + SearchTerm() + ""));
                });
            } else {
                var empty_row = row.clone(true);
                $("td:first-child", empty_row).attr("colspan", $("td", row).length);
                $("td:first-child", empty_row).attr("align", "center");
                $("td:first-child", empty_row).html("No records found for the search criteria.");
                $("td", empty_row).not($("td:first-child", empty_row)).remove();
                $("[id*=gvCustomers]").append(empty_row);
            }
        };
</script>




[WebMethod]
       public static string GetCustomers(string searchTerm, int pageIndex)
       {
           string query = "[SP006]";
           SqlCommand cmd = new SqlCommand(query);
           cmd.CommandType = CommandType.StoredProcedure;
           cmd.Parameters.AddWithValue("@SearchTerm", searchTerm);
           cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
           cmd.Parameters.AddWithValue("@PageSize", PageSize);
           cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
           return GetData(cmd, pageIndex).GetXml();
       }

       private static DataSet GetData(SqlCommand cmd, int pageIndex)
       {
           string strConnString = ConfigurationManager.ConnectionStrings["INSMCPConnectionString"].ConnectionString;
           using (SqlConnection con = new SqlConnection(strConnString))
           {
               using (SqlDataAdapter sda = new SqlDataAdapter())
               {
                   cmd.Connection = con;
                   sda.SelectCommand = cmd;
                   using (DataSet ds = new DataSet())
                   {
                       sda.Fill(ds, "Customers");
                       DataTable dt = new DataTable("Pager");
                       dt.Columns.Add("PageIndex");
                       dt.Columns.Add("PageSize");
                       dt.Columns.Add("RecordCount");
                       dt.Rows.Add();
                       dt.Rows[0]["PageIndex"] = pageIndex;
                       dt.Rows[0]["PageSize"] = PageSize;
                       dt.Rows[0]["RecordCount"] = cmd.Parameters["@RecordCount"].Value;
                       ds.Tables.Add(dt);
                       return ds;
                   }
               }
           }
       }
Posted
Comments
Richard Deeming 30-Jan-18 13:11pm    
string query = "[SP006]";

Seriously?! Are you trying to make an unmaintainable product?

You might remember that SP042 wibbles the nerf-herders now. But when you come back to your project in six months time, you'll be cursing the person who wrote it.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900