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

时间:2013-07-19 06:54:36

标签: c# asp.net gridview paging

我正在尝试允许对gridview进行分页。我在gridview上允许分页并添加了pagesize。不幸的是,它不起作用。我研究过,我看到人们不需要添加任何代码。

这是我的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();

2 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分: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();
    }