首页 新闻 搜索 专区 学院

用户控件里的分页问题,急~

0
[已关闭问题] 关闭于 2009-11-16 13:54

我在用户控件里用DataGrid绑定了通过属性接收进来的数据源进行展示,可是不管用DataGrid自带的分页功能还是用分页类PagedDataSource,都不能进行正常分页,总是显示第一页,是什么原因啊?

问题补充: <%@ Control Language="c#" AutoEventWireup="false" Codebehind="MyWUC.ascx.cs" Inherits="MyWork.WebUserControl.MyWUC" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%> <div> <br> <asp:datagrid id="dgData" runat="server"></asp:datagrid><br> <asp:button id="btnPrev" Text="上一页" Runat="server"></asp:button>&nbsp;&nbsp;&nbsp;<asp:label id="lblCurrentPage" Runat="server"></asp:label> &nbsp;&nbsp;&nbsp; <asp:button id="btnNext" Text="下一页" Runat="server"></asp:button></div> 后台是: private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack) { ViewState["Page"] = 0; Bind(); } } private void Bind() { PagedDataSource pds = new PagedDataSource(); //设置分页类 pds.DataSource = userData.DefaultView; pds.AllowPaging = true; pds.PageSize = 3; pds.CurrentPageIndex = Pager; this.lblCurrentPage.Text = "第 " + (pds.CurrentPageIndex + 1).ToString() + " 页 共 " + pds.PageCount.ToString()+" 页"; SetEnable(pds); this.dgData.DataSource = this.userData; this.dgData.DataBind(); } private void SetEnable(PagedDataSource pds) { this.btnPrev.Enabled = true; this.btnNext.Enabled = true; if (pds.IsFirstPage) this.btnPrev.Enabled = false; if (pds.IsLastPage) this.btnNext.Enabled = false; } private void btnPrev_Click(object sender, System.EventArgs e) { Pager--; Bind(); } private void btnNext_Click(object sender, System.EventArgs e) { Pager++; Bind(); } /// <summary> /// 当前页数 /// </summary> private int Pager { get { return (int)ViewState["Page"]; } set { ViewState[&quo
死神的背影的主页 死神的背影 | 小虾三级 | 园豆:660
提问于:2009-11-12 12:44
< >
分享
所有回答(4)
0

一、userData在哪里定义的?

二、在哪里接受页面传递过来的页数?

邀月 | 园豆:25375 (高人七级) | 2009-11-12 13:15
userData 忘记写了,是个DataTable类型的数据源,这个没问题的 通过Pager 属性来控制当前页的
支持(0) 反对(0) 死神的背影 | 园豆:660 (小虾三级) | 2009-11-12 15:22
0

你把AutoEventWireup属性改为true试试

断云残阳 | 园豆:84 (初学一级) | 2009-11-12 15:37
vs2003的DataGrid 中好像没有AutoEventWireup属性
支持(0) 反对(0) 死神的背影 | 园豆:660 (小虾三级) | 2009-11-12 16:22
0

datagrid 的是否允许分页的属性没打开

lisw | 园豆:313 (菜鸟二级) | 2009-11-12 16:07
打开了,没用,DataGrid自带的分页能用,但是用分页类却达不到效果,总是现在第一页
支持(0) 反对(0) 死神的背影 | 园豆:660 (小虾三级) | 2009-11-12 16:23
0

将DataGrid的分页属性设为true,在添加DataGrid的PageIndexChanged的事件,在事件中写

{

this.dgData.CurrentPageIndex=e.NewPageIndex;

//重新加载dgData的绑定

this.dgData.DataSource = userData.DefaultView;

this.dgData.DataBind();

}

这样就行了!

我是编程菜鸟 | 园豆:205 (菜鸟二级) | 2009-11-12 19:06
这个让DataGrid的自带分页能够正常分页,但是我想用后台的分页类去分页,这样子可以自定义BUTTON之类的控件,样式也可以灵活控制
支持(0) 反对(0) 死神的背影 | 园豆:660 (小虾三级) | 2009-11-13 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册