快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

DATAGRID 分页问题 -- 无法响应 PAGEINDEXCHANGED 事件

最近做网站碰到了一个希奇的问题,在进行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 ,问题解决。
返回类别: 教程
上一教程: 用排序串字段实现树状结构(例程??回复表单)
下一教程: 利用ASP获得图象的实际尺寸的示例

您可以阅读与"DATAGRID 分页问题 -- 无法响应 PAGEINDEXCHANGED 事件"相关的教程:
· 用PRERENDER解决DATAGRID分页最后一页行数不满的排版问题
· 解决使用ASP无法连接ORACLE 9I数据库的问题
· ASP分页函数
· 在ASP中如何迅速优化分页的技巧
· REPEATER显示数据的例子,带分页
    微笑服务 优质保证 索取样品