【问题标题】:After paging GridVIew does not display all data when searched分页后 GridVIew 搜索时不显示所有数据
【发布时间】:2016-02-24 19:28:28
【问题描述】:

我的GridView 在第二页执行搜索后未显示正确的数据。

填充GridView 并使用PageIndexChanging 方法导航到第二页后,GridView 在应用搜索过滤器后不会刷新。它仍然在同一页面上,但必须重新加载。

我的搜索调用以下方法:

private void PopulatePeople()
{
    lblAddError.Text = String.Empty;
    if (ViewState["_message"] != null)
    {
        lblAddError.Visible = true;
        lblAddError.Text = ViewState["_message"].ToString();
    }
    ViewState["_message"] = null;

    int portfolio = int.Parse(ddlPortfolio.SelectedItem.Value);
    ViewState["_portfolioID"] = portfolio;
    string year = ddlYear.SelectedItem.Text;
    string month = ddlMonth.SelectedItem.Text;

    if (ViewState[_vsPeopleList] != null)
    {
        ViewState[_vsPeopleList] = null;
    }

    List<PeopleManagement> list = PeopleManagement.GetPeople(portfolio, year, month);

    ViewState[_vsPeopleList] = list;

    if(list.Count == 0)
    {
        gvPeople.Visible = false;
        lblAddError.Visible = true;
        lblAddError.Text = "No data available for current selection";
    }
    else
    {
        gvPeople.Visible = true;
        gvPeople.DataSource = list;
        gvPeople.DataBind();
    }
}

此方法根据搜索过滤器显示数据。

我生成了 2 个页面。第 1 页有 10 条记录,第 2 页有 1 条记录。

当分页到第二页并再次单击搜索而不更改任何搜索过滤器时,GridView 在第二页仍然显示 1 条记录。但是,它应该显示有 10 条记录的第一页。看起来,GridView 没有回到第一页。

这是我的PageIndexChanging 方法:

protected void gvPeople_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    lblAddError.Text = String.Empty;
    List<PeopleManagement> list = (List<PeopleManagement>)ViewState[_vsPeopleList];
    gvPeople.DataSource = list;
    gvPeople.PageIndex = e.NewPageIndex;
    gvPeople.DataBind();
}

我不知道出了什么问题。尝试调试一段时间了。 列表第一次搜索时和页面索引改变时的记录数相同。应该可以正常工作...

【问题讨论】:

    标签: asp.net gridview page-index-changed


    【解决方案1】:

    基因,

    这是因为 PageIndex 属性设置为您导航到的新页面。只需在搜索功能中将 PageIndex 重置为零即可。

    【讨论】:

    • 谢谢 :) 可惜我自己解决不了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多