0

こんにちは、3 つのチェックボックスとグリッドビュー (テンプレートを使用) があります。チェックボックスを使用して、グリッドビューの行 (アカウント) のステータスをフィルタリングしています。サーバー側でグリッドビューをフィルタリングできます。今私がやりたいことは、クライアント側を介してグリッドビューをフィルタリングすることです。ユーザーがチェックボックスの 1 つをチェックすると、ページを更新せずに保留中、承認済み、または拒否されたアカウントが表示されます。jqueryまたはjavascriptでこれを行うにはどうすればよいですか。

開始方法がわからないため、まだコードがありません。

これは私のチェックボックスです:

<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" />

これは私のグリッドビューです(コードビハインドで入札しました):

<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();

フィルタの場合:

トリング FilrterConsumer = "ConsumerBiller.id、ConsumerMaster.LastName、ConsumerMaster.FirstName、ConsumerBiller.Status、ConsumerBiller.DateCreated を選択 " + "ConsumerMaster から " + "ConsumerMaster.id = ConsumerBiller.ConsumerID で ConsumerBiller に参加 " + "WHERE Con​​sumerBiller.MerchantID = @MerchantID AND ConsumerBiller.Status <> 'DELETED' AND ConsumerBiller.Status <> 'CANCELLED'";

        string[] param = { "@MerchantID" };
        object[] paramVal = { MerchantID };

        return ClassDBQuery.ExecDataReader(FilrterConsumer, param, paramVal);
4

0 に答える 0