Javascript 客户端的过滤器
嗨,我有三个复选框和一个gridview(使用模板)。 我使用复选框过滤gridview行(帐户)的状态。我可以在服务器端过滤gridview,现在我想做的是通过客户端过滤gridview,当用户选中其中一个复选框时,它将显示挂起、批准或拒绝的帐户,而不刷新页面。如何在jquery或javascript中实现这一点 我还没有代码,因为我不知道如何开始 这是我的复选框:Javascript 客户端的过滤器,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,嗨,我有三个复选框和一个gridview(使用模板)。 我使用复选框过滤gridview行(帐户)的状态。我可以在服务器端过滤gridview,现在我想做的是通过客户端过滤gridview,当用户选中其中一个复选框时,它将显示挂起、批准或拒绝的帐户,而不刷新页面。如何在jquery或javascript中实现这一点 我还没有代码,因为我不知道如何开始 这是我的复选框: <asp:CheckBox ID="Pending" runat="server" Text="Pending" Auto
<asp:CheckBox ID="Pending" runat="server" Text="Pending" AutoPostBack="True" OnCheckedChanged="PendingConsumer_CheckedChanged" />
<asp:CheckBox ID="Approved" runat="server" Text="Approved" AutoPostBack="True" OnCheckedChanged="ApprovedConsumer_CheckedChanged" />
<asp:CheckBox ID="Rejected" runat="server" Text="Rejected" AutoPostBack="True" OnCheckedChanged="RejectedConsumer_CheckedChanged" />
对于过滤器:
tring firrterconsumer=“选择ConsumerBiller.id,ConsumerMaster.LastName,ConsumerMaster.FirstName,ConsumerBiller.Status,ConsumerBiller.DateCreated”
+“来自ConsumerMaster”
+“在ConsumerMaster.id=ConsumerBiller.consumerrid上加入ConsumerBiller”
+“其中ConsumerBiller.MerchantID=@MerchantID和ConsumerBiller.Status‘DELETED’和ConsumerBiller.Status‘CANCELLED’”
您能否至少显示
HTML
?通常必须有某种东西将复选框
与要显示的项目连接起来。它可以是class
或data-*
或同一列,依此类推。然后,您只需隐藏其余部分并显示与复选框对应的部分。这有点含糊不清,因为它取决于结构。@Spokey>我发布了gridview和checkbox的代码。。还有过滤器的代码隐藏请发布生成的代码one@Spokey>已生成..?过滤器中的一个?我添加了我的代码
<asp:GridView ID="gvconsumer" runat="server" AutoGenerateColumns="False" Width="50%" OnRowDataBound="gvconsumer_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Label ID="lblid" runat="server" Text='<%# Bind("id") %>' Visible="false" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Consumer">
<ItemTemplate>
<asp:Label ID="lblconsumer" runat="server" Text='<%# Bind("FirstName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblname" runat="server" Text='<%# Bind("LastName") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label ID="lblstatus" runat="server" Text='<%# Bind("Status") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="DateCreated">
<ItemTemplate>
<asp:Label ID="lbldatecreated" runat="server" Text='<%# Bind("DateCreated") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="btnApprove" runat="server" Text="Approve" OnClick="btnApprove_Click" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:Button ID="btnReject" runat="server" Text="Reject" OnClick="btnReject_Click" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
int MerchantFilterID = int.Parse(Session["userid"].ToString());
string sqlfilter = "id >= 1";
DataView dv = new DataView(ClassBiller.FilterPendingConsumer(MerchantFilterID));
if (Pending.Checked)
{
sqlfilter += " AND (Status = 'Pending')";
}
if (Approved.Checked)
{
sqlfilter += (sqlfilter.Contains("AND") ? "OR" : "AND") + " (Status = 'Approved')";
}
if (Rejected.Checked)
{
sqlfilter += (sqlfilter.Contains("AND") ? "OR" : "AND") + " (Status = 'Rejected')";
}
dv.RowFilter = sqlfilter;
gvconsumer.DataSource = dv;
gvconsumer.DataBind();
string[] param = { "@MerchantID" };
object[] paramVal = { MerchantID };
return ClassDBQuery.ExecDataReader(FilrterConsumer, param, paramVal);