尽管启用了分页,但无法使用分页

问题描述 投票:0回答:2

我正在尝试允许我的网格视图分页。我在我的网格视图中允许分页,并且还添加了页面大小。不幸的是,它不起作用。我研究过,发现有人不需要添加任何代码。

这是我的 gridview 的源代码

<asp:GridView ID="GVVerify" runat="server" AllowPaging="True" AutoGenerateSelectButton="True" BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" CssClass="gridviewadminverify" ForeColor="Black" OnSelectedIndexChanged="GVVerify_SelectedIndexChanged" Width="100%">
                <FooterStyle BackColor="#CCCCCC" />
                <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
                <PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
                <RowStyle BackColor="White" />
                <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
                <SortedAscendingCellStyle BackColor="#F1F1F1" />
                <SortedAscendingHeaderStyle BackColor="#808080" />
                <SortedDescendingCellStyle BackColor="#CAC9C9" />
                <SortedDescendingHeaderStyle BackColor="#383838" />
            </asp:GridView>

这就是我通过数据绑定连接 SQL 的方式,这与使用数据源不同。

SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source = localhost; Initial Catalog = project; Integrated Security= SSPI";
conn.Open();

DataSet ds = new DataSet();

SqlDataAdapter da = new SqlDataAdapter("SELECT policeid as [Police ID], password as [Password], email as [Email], nric as [NRIC], fullname as [Full Name], contact as [Contact], address as [Address], location as [Location] From LoginRegisterPolice where pending='pending'", conn);
da.Fill(ds);

GVVerify.DataSource = ds;           
GVVerify.DataBind();
conn.Close();
c# asp.net gridview pagination
2个回答
1
投票

您没有使用 PageIndexChanging 事件,您必须绑定 PageIndexChanging 事件并使用当前页面重新绑定网格。

HTML

<asp:GridView ID="GVVerify" runat="server"  OnPageIndexChanging="GridViewPageEventHandler" AllowPaging="True" AutoGenerateSelectButton="True" BackColor="#CCCCCC" 
BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" 
CssClass="gridviewadminverify" ForeColor="Black" OnSelectedIndexChanged="GVVerify_SelectedIndexChanged" 
Width="100%">

背后代码

protected void grdView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GVVerify.PageIndex = e.NewPageIndex;
    GVVerify.DataSource = GetGridData();
    GVVerify.DataBind();
}

0
投票

您需要处理gridview的PageIndexChanging事件。

例如:

protected void GVVerify_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        bindGrid();
        GVVerify.PageIndex = e.NewPageIndex;
        GVVerify.DataBind();
    }

其中bindGrid方法将包含绑定网格的代码。 例如

private void bindGrid()
    {
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source = localhost; Initial Catalog = project; Integrated Security= SSPI";
        conn.Open();
        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter("SELECT policeid as [Police ID], password as [Password], email as [Email], nric as [NRIC], fullname as [Full Name], contact as [Contact], address as [Address], location as [Location] From LoginRegisterPolice where pending='pending'", conn);
        da.Fill(ds);

       GVVerify.DataSource = ds;           
       GVVerify.DataBind();
       conn.Close();
    }
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.