使用复选框过滤gridview

时间:2013-06-04 06:32:53

标签: asp.net checkbox filter

我有一个gridView和两个用于过滤的复选框。 第一个复选框(已接受),选中后,gridview将仅显示状态为Accepted的数据库中的数据。

这是我的gridview和复选框:

 <div style="height: 250px; overflow-x: hidden; overflow-y: scroll;" >

    <asp:CheckBox ID="Accepted" runat="server" />
    <asp:CheckBox ID="Pending" runat="server" />
    <asp:CheckBox ID="Rejected" runat="server" />

    <asp:GridView ID="gvtransaction" runat="server" Width="30%" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="5px"  DataKeyNames="id" GridLines="Horizontal" OnRowDataBound="gvtransaction_RowDataBound" OnRowCommand="TransactionStatus">
        <Columns>

            <asp:BoundField DataField="MerchantID" HeaderText="ID" SortExpression="" />
            <asp:BoundField DataField="FirstName" HeaderText="Consumer" SortExpression="" />
            <asp:BoundField DataField="LastName" HeaderText="Name" SortExpression="" />
            <asp:BoundField DataField="Amount" HeaderText="Amount" SortExpression="" />
            <asp:BoundField DataField="CurrencyName" HeaderText="Account Name" SortExpression="" />
            <asp:BoundField DataField="Status" HeaderText="Status" SortExpression="" />
            <asp:ButtonField ButtonType="Button" CommandName="Accept" HeaderText="Action" ShowHeader="True" Text="Accept" />
            <asp:ButtonField ButtonType="Button" CommandName="Reject" HeaderText="Action" ShowHeader="True" Text="Reject" />

        </Columns>
        <FooterStyle BackColor="White" ForeColor="#000066" />
        <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
        <RowStyle ForeColor="#000066" />
        <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" />
        <SortedAscendingHeaderStyle BackColor="#007DBB" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#00547E" />
    </asp:GridView>

我如何使用javascript执行此操作。? 谢谢......

2 个答案:

答案 0 :(得分:1)

您可以使用gridview'onrowdatabound和DataKeyNames'的以下属性。 在DataKeyNames中,您可以通过datareader提供您从数据库读取的类变量或属性的名称。

触发gridview的rowDatabound事件,以便检查状态

 protected void gvtransaction_RowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
    {
      int Status = (int)this.gvtransaction.DataKeys[e.Row.RowIndex].Values[0];
                    if (Status)
                    {
                       .
                      check status values for Accepted, pending and rejected through if else.
                       .
                       .
                    }
    }

答案 1 :(得分:0)

您可以创建2个网格视图,并在选中其中一个复选框时绑定关联的网格视图。