2013-11-08 2 views
0

это мой код: когда я изменить индекс пейджера я получить правильные данные, но пейджер колонтитул disapear:ASP.net GridView индекс подкачки исчезает, когда я изменить титульную страницу

<asp:GridView ID="GridView1" runat="server" PageSize="4" AllowPaging="true"  AllowSorting="true" AutoGenerateColumns="false" OnRowEditing="GridView1_RowEditing" DataKeyNames="id" OnRowCancelingEdit="GridView1_RowCancelingEdit" AlternatingRowStyle-CssClass="eventRowStyle" OnPageIndexChanging="GridView1_PageIndexChanging" OnPageIndexChanged="GridView1_PageIndexChanged"> 

Codebehind:

protected void Page_Load(object sender, EventArgs e) 
{ 
     if (!IsPostBack) 
     { 
      GridViewDBEntities model = new GridViewDBEntities(); 
      var query = from p in model.userTbls select p; 
      GridView1.DataSource = query; 
      GridView1.DataBind(); 
     } 
    } 

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    GridViewDBEntities model = new GridViewDBEntities(); 
    var query = (from p in model.userTbls orderby p.id ascending select p).Skip((e.NewPageIndex) * GridView1.PageSize).Take(GridView1.PageSize); 
    GridView1.PageIndex = e.NewPageIndex; 
    GridView1.DataSource = query; 
    GridView1.DataBind(); 
} 

ответ

1

Вы можете заставить свой пейджер оставаться видимым!

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    GridView1.BottomPagerRow.visible = True 

BTW вы уже определили PAGESIZE и установить пейджинг истину, так что я думаю, что это будет делать

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

     } 
    } 
     private void BindGrid() 
     { 
      GridViewDBEntities model = new GridViewDBEntities(); 
      var query = from p in model.userTbls select p; 
      GridView1.DataSource = query; 
      GridView1.DataBind(); 
     } 

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) 
{ 
    // GridViewDBEntities model = new GridViewDBEntities(); 
    // var query = (from p in model.userTbls orderby p.id ascending select //p).Skip((e.NewPageIndex) * GridView1.PageSize).Take(GridView1.PageSize); 
    GridView1.PageIndex = e.NewPageIndex; 
    // GridView1.DataSource = query; 
    //GridView1.DataBind(); 
    BindGrid(); 
} 

Удаление !IsPostback вызовет проблемы позже, если вы должны реализовать некоторые функциональные возможности, где вы должны изменить сетку или вставить записи. В любом случае лучше будет создать метод Bind и использовать его в соответствии с требованиями.

+0

i user GridView1.BottomPagerRow.visible = True в моем GridView1_RowDataBound, но получить ошибку ==> Ссылка на объект не установлена ​​в экземпляр объекта. – Wineo

+0

сейчас я пользователь GridView1.BottomPagerRow.Visible = true; в моем обработчике GridView1_DataBound, теперь он показывает строку пейджера, но просто показывает «1», что он не связан, а мой другой индекс страницы не показывал – Wineo

+0

. Я сделал это и решил, моя проблема была в том, что я пользователь ispostback в моей pageload – Wineo

Смежные вопросы