2016-02-24 47 views
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的所有數據。但是,我的頁面不會刷新以顯示所有數據,它只顯示該頁面索引的數據,但是,我的列表的計數等於從數據庫填充的記錄數。另外,如果我更改搜索過濾器,數據顯示正確。

我在做什麼錯?

回答

0

看起來像gvHolidays_PageIndexChanging事件與其他一些網格有關,因爲寫入它的代碼用於網格gvPeople。

如果沒有,請嘗試以下操作。

//Write the following code inside gridviews PageIndexChanging event. 
gvPeople.PageIndex = e.NewPageIndex; 
gvPeople.EditIndex = -1; 
gvPeople.SelectedIndex = -1; 

//Write the following code inside gvHolidays_PageIndexChanged event. 
lblAddError.Text = String.Empty; 
List<People> list = (List<People>)ViewState[_vsPeopleList]; 
gvPeople.DataSource = list; 
gvPeople.DataBind(); 
+0

仍然是同樣的問題 – gene

+0

你可以發佈gridview的aspx代碼部分? –