0
我的GridView
填充了某個過濾條件。GridVIew在分頁後不刷新
我有PageIndexChanging
事件來執行我的數據分頁。
protected void gvPeople_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
lblAddError.Text = String.Empty;
List<People> list = (List<People>)ViewState[_vsPeopleList];
gvPeople.DataSource = list;
gvPeople.PageIndex = e.NewPageIndex;
gvPeople.EditIndex = -1;
gvPeople.DataBind();
}
之後我執行Search
而不更改過濾條件。
protected void btnPeopleSearch_Click(object sender, CommandEventArgs e)
{
if(e.CommandName.Equals("Search"))
{
PopulatePeople();
}
}
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;
List<People> list = People.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();
}
}
我應該爲我分頁到下一頁之前,必須得到在GridView
的所有數據。但是,我的頁面不會刷新以顯示所有數據,它只顯示該頁面索引的數據,但是,我的列表的計數等於從數據庫填充的記錄數。另外,如果我更改搜索過濾器,數據顯示正確。
我在做什麼錯?
仍然是同樣的問題 – gene
你可以發佈gridview的aspx代碼部分? –