为每个结果分页gridview重新绑定

时间:2012-10-15 05:14:15

标签: c# gridview webforms

我有一个带有分页特征的网格视图,当我想在数据库中搜索项目并在gridview中显示结果时使用分页 但是当我跳到另一个页面时,gridview将绑定并列出所有页面的DB中的所有项目,我该如何解决这个问题? 谢谢你的建议

 protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        BindGridView();
    }
}

private void BindGridView()
{
    using (NoavaranModel.NoavaranEntities1 dbContext = new NoavaranModel.NoavaranEntities1())
    {
        var query = from list in dbContext.Students
                    select list;
        lblStudentsCount.Text = query.Count().ToString();
        GridView1.DataSource = query;
        GridView1.DataBind();
    }
}

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGridView();
    GridView1.DataBind();
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你在BindGridView()方法的末尾调用GridView1.DataBind(),所以我不相信你需要在调用BindGridView()之后再次执行它。在PageIndexChanging事件中:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGridView();
}

如果这没有解决,请告诉我评论中会发生什么,我会再看一下。

此外,如果您说您的GridView正在填充数据库中的所有项目(当您只期望某些项目时),则表明您的查询存在问题。我会尝试设置一个断点并逐步查看要查看的内容,以确保您收到预期的结果。