當前位置:首頁文章首頁 IT學院 IT技術

關于DataGrid 分頁問題的小經驗分享

作者:  來源:  發(fā)布時間:2011-6-10 11:37:55  點擊:

本文提供的是作者的一個小經驗分享,是關于DataGrid 分頁問題,希望能給大家?guī)韼椭蛦l(fā)。

最近做網站遇到了一個奇怪的問題,在進行DataGrid進行分頁時,無法響應 PageIndExchanged 事件 。
  我也查閱了很多關于這方面的文章,可是還是沒有得到解決方案。 在和別人的探討中發(fā)現了癥結所在
  
  首先,我先將代碼貼過來:
  
  下面是DataGird控件的HTML代碼(不包含字段綁定)
  
  <ASP:datagrid id="SearchGrid" runat="server" width="100%" autogeneratecolumns="False" EnableViewState="true" AllowPaging="True" PageSize="3" PagerStyle-Mode="NumericPages" PagerStyle-HorizontalAlign="Right" PagerStyle-pagebuttoncount="5" onpageindexchanged="SearchGrid_PageIChanged" >
  
  下面是后代碼:
  
  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   If Not IsPostBack Then
   BindGrid()
   End If
   End Sub
  
  public Sub SearchGrid_PageIChanged(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs)
   SearchGrid.CurrentPageIndex = e.NewPageIndex
   BindGrid()
   End Sub
  
  Public Sub BindGrid()
   SearchGrid.DataSource = (綁定你的數據源)
  
   SearchGrid.DataBind()
  
   End Sub
  
  
  對與上面的代碼,第一次加載頁面都可以得到正確的顯示結果和頁數,但是切換頁面時不能響應分頁事件
  
  經過跟蹤程序發(fā)現切換頁面每次都要調用PageLoad , 我把DataBind移出Is notpostback后,分頁可以正常
  
  說明每次在回送頁面時都要重新給DataGrid加載數據,隨即考慮到DataGrid設置了EnableViewState為False
  
  DataGrid數據沒有保留下來,導致DataGrid只有在每次加載都重新綁定才能實現保持狀態(tài)而正常分頁。
  
   因此將EnableVIewState設置為True ,問題解決。

相關軟件

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z