Проблема разбиения на страницы после фильтрации со списком флажков - PullRequest
0 голосов
/ 11 ноября 2019

У меня есть несколько списков флажков Databound, используемых для фильтрации результатов в Gridview с подкачкой страниц. Пейджинг работает нормально сам по себе, но когда я фильтрую и перехожу на следующую страницу, результаты в Gridview возвращаются к исходным результатам перед фильтрацией.

Вот некоторые из моих кодов

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataSourceID="SqlDataSource2" DataTextField="SBrand" DataValueField="SBrand" AutoPostBack="True" SelectedIndexChanged="gvStock_SelectedIndexChanged" OnSelectedIndexChanged="CheckBoxList_SelectedIndexChanged" OnPageIndexChanging="gvStock_PageIndexChanging" CssClass="checkboxlist">
</asp:CheckBoxList>

<asp:GridView ID="gvStock" runat="server" enablepagingandcallbackz="false" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True" OnSorting="OnSorting" OnPageIndexChanging="OnPageIndexChanging"  PageSize="20" BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" ForeColor="Black">
    <Columns>
        <asp:HyperLinkField Text="View" DataNavigateUrlFields="pCode,pID,bCode,SBrand,SDescription,sCost,sPrice,SType,sSupplierName,sSupplierDirect" DataNavigateUrlFormatString="ProductDetail.aspx?pCode={0}&pID={1}&bCode={2}&SBrand={3}&SDescription={4}&sCost={5}&sPrice={6}&SType={7}&sSupplierName={8}&sSupplierDirect={9}"/>
        <asp:BoundField DataField="pCode" HeaderText="Product Code" />
        <asp:BoundField DataField="pID" HeaderText="PID"/>
        <asp:BoundField DataField="bCode" HeaderText="Bar Code"/>
        <asp:BoundField DataField="SBrand" HeaderText="Brand"/>
        <asp:BoundField DataField="SDescription" HeaderText="Description"/>
        <asp:BoundField DataField="sCost" HeaderText="Cost"/>
        <asp:BoundField DataField="sPrice" HeaderText="S. Price"/>
        <asp:BoundField DataField="SType" HeaderText="Category" />
        <asp:BoundField DataField="sSupplierName" HeaderText="Supplier"/>
        <asp:BoundField DataField="sSupplierDirect" HeaderText="Sup Direct"/>
</asp:GridView>

Код позади

protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            this.gvStock.PageIndex = e.NewPageIndex;
            this.BindGrid(null, txtSearch.Text );
        }
...