HI,I am using autocomplete jquery gridview which will filter when i type in textbox. i want to select anywhere in the row and pass row Id to session. Can anyone can give me some idea how to do it. below is my Js file.
Js:-
$("#popup").ready(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: "Home.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("Id").text()); $("td", row).eq(0).html($(this).find("Patient_First_Name").text()); $("td", row).eq(1).html($(this).find("Patient_DOB").text()); $("td", row).eq(2).html($(this).find("Patient_Home_Phone").text()); $("td", row).eq(3).html($(this).find("Patient_Account_No").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, "<span class = 'highlight'>" + SearchTerm() + "</span>")); }); } 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); } };Aspx:- <asp:GridView ID="gvCustomers" CssClass="gridview" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvCustomers_RowDataBound"> <Columns> <%--<asp:BoundField DataField="Id" HeaderText="Id" />--%> <asp:BoundField DataField="Patient_First_Name" HeaderText="First Name" /> <asp:BoundField DataField="Patient_DOB" HeaderText="Dob" /> <asp:BoundField DataField="Patient_Home_Phone" HeaderText="Phone Number" /> <asp:BoundField DataField="Patient_Account_No" HeaderText="Account No" /> <asp:TemplateField HeaderText=""> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" Text="test" NavigateUrl='<%# Eval("Patient_First_Name", "show.aspx?ID={0}") %>'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>C#:- protected void gvCustomers_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onmouseover"] = "this.style.cursor='pointer';this.style.textDecoration='underline';this.style.backgroundColor='#81DAF5';"; e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.backgroundColor='#FFFFFF';"; e.Row.ToolTip = "Click to select row"; Page.ClientScript.RegisterForEventValidation(new System.Web.UI.PostBackOptions(this.gvCustomers, "Select$" + e.Row.RowIndex.ToString())); } }
<asp:GridView ID="gvCustomers" CssClass="gridview" runat="server" AutoGenerateColumns="false" OnRowDataBound="gvCustomers_RowDataBound"> <Columns> <%--<asp:BoundField DataField="Id" HeaderText="Id" />--%> <asp:BoundField DataField="Patient_First_Name" HeaderText="First Name" /> <asp:BoundField DataField="Patient_DOB" HeaderText="Dob" /> <asp:BoundField DataField="Patient_Home_Phone" HeaderText="Phone Number" /> <asp:BoundField DataField="Patient_Account_No" HeaderText="Account No" /> <asp:TemplateField HeaderText=""> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" Text="test" NavigateUrl='<%# Eval("Patient_First_Name", "show.aspx?ID={0}") %>'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>C#:- protected void gvCustomers_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onmouseover"] = "this.style.cursor='pointer';this.style.textDecoration='underline';this.style.backgroundColor='#81DAF5';"; e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.backgroundColor='#FFFFFF';"; e.Row.ToolTip = "Click to select row"; Page.ClientScript.RegisterForEventValidation(new System.Web.UI.PostBackOptions(this.gvCustomers, "Select$" + e.Row.RowIndex.ToString())); } }
protected void gvCustomers_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes["onmouseover"] = "this.style.cursor='pointer';this.style.textDecoration='underline';this.style.backgroundColor='#81DAF5';"; e.Row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.backgroundColor='#FFFFFF';"; e.Row.ToolTip = "Click to select row"; Page.ClientScript.RegisterForEventValidation(new System.Web.UI.PostBackOptions(this.gvCustomers, "Select$" + e.Row.RowIndex.ToString())); } }