当前位置:首页文章首页 IT学院 IT技术

关于DataGrid 分页问题的小经验分享

作者:  来源:  发布时间:2011-6-10 11:37:55  点击:

本文提供的是作者的一个小经验分享,是关于DataGrid 分页问题,希望能给大家带来帮助和启发。

最近做网站遇到了一个奇怪的问题,在进行DataGrid进行分页时,无法响应 PageIndExchanged 事件 。
  我也查阅了很多关于这方面的文章,可是还是没有得到解决方案。 在和别人的探讨中发现了症结所在
  
  首先,我先将代码贴过来:
  
  下面是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
  
  
  对与上面的代码,第一次加载页面都可以得到正确的显示结果和页数,但是切换页面时不能响应分页事件
  
  经过跟踪程序发现切换页面每次都要调用PageLoad , 我把DataBind移出Is notpostback后,分页可以正常
  
  说明每次在回送页面时都要重新给DataGrid加载数据,随即考虑到DataGrid设置了EnableViewState为False
  
  DataGrid数据没有保留下来,导致DataGrid只有在每次加载都重新绑定才能实现保持状态而正常分页。
  
   因此将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