C#自定义分页控件3.0

C#自定义分页控件3.0

  C#自定义分页控件不知不觉也到了3.0,说明问题还是有一些,开始的时候考虑得不够周到,第一版出来的时候,感觉还行,等自己再次看代码的时候,发现还是有待改进。

  热烈欢迎下载使用,剖析,批评,提修改建议。我要下载C#自定义分页控件3.0

  这篇博客对很多人可能没有什么帮助,若有时间,可以看看源码,说不定对你的损失还有点小小的挽回,下一篇博客可能会对你有所帮助,这次这么久都没有写博客,是因为项目太忙了,下一篇会写写自己失败的教训,因为最近做的一个项目,60%多的代码都是我一个人写的,前期没有做好准备,导致后期比较麻烦,还好昨天晚上已经上线了,地址如下

      目标软件充值中心:http://card.object.com.cn/

 

  最近做的一个项目(目标软件充值中心),又用上了自己写的自定义分页控件,发现不够完善,使用起来不是很方便,于是进行了升级,这已经是第二次升级了,升级估计还会继续,为什么是估计呢? 

   1:不知道有没有朋友用,也没有人提出要我改进

   2:我想做C++啊 ,如果有机会的话,就开始写C++代码了,C#代码将会写得比较少

   3:如果有朋友建议我升级,那肯定是会升级的

  这次升级内容:

   1:修改了PageIndex属性,把它设为只读了,使用这个控件的人不用对他进行赋值,以前是需要用户自己获取当前是第几页的,感觉很麻烦也不简洁

   2:添加了一个属性CurrentRecord,表示当前分页的第一条记录的索引位置,在分页的时候如果要显示编号,用这个属性会很方便 

  在项目中使用的截图:   

        

   现在使用这个控件就相对要简洁一些了,后台代码就这么多:

复制代码
        protected void paginglist_OnPageChanging(object sender, EventArgs e)
{
DataTable dataSource = CreateDataSource();//获取数据源
paginglist.RecordCount = dataSource.Rows.Count;//设置总页数
rptDataList.DataSource = Paging.GetPagingData(dataSource, paginglist.PageIndex, paginglist.PageSize);//程序分页
rptDataList.DataBind();//数据绑定
}
复制代码

 

     DEMO截图如下,这次的编号可是用了新特性的哦

         

 

    作者:陈太汉

        博客:http://www.cnblogs.com/hlxs/


本文转自啊汉博客园博客,原文链接:http://www.cnblogs.com/hlxs/archive/2011/11/15/2249626.html

一、AspNetPager支持两种方式分页: 一种是PostBack方式分页, 一种是通过Url来实现分页以及Url重写功能 二、AspNetPager支持各种数据绑定控件GridView、DataGrid、DataList、Repeater以及自定义的数据绑定控件分页功能十分强大。 三、AspNetPager分页控件本身并不显示任何数据,而只显示分页导航元素,数据在页面上的显示方式与该控件无关,所以需要手写数据连接方法来配合, 四、结合TOP 。。。NOT IN 的通用存储过程分页方法使用AspNetPager十分实用 测试控件datalist aspnetpager 的分页方法示例 分页方法为 PostBack 方式 1、 首先将AspNetPager.dll复制于应用程序下的bin目录,打开解决方案,引入dll文件 2、 在工具栏中添加控件,这样可以支持拖拽使用 3、 要使用AspNetPager 要为其设置最基本的属性 使用 SqlServer Northwind数据库的 Products表 protected Wuqi.Webdiyer.AspNetPager AspNetPager1; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.DataList DataList1; private void Page_Load(object sender, System.EventArgs e) { this.AspNetPager1.PageSize=10; //设置每也显示的记录条数 if(!IsPostBack) //只在页面第一次加载时起作用 { SqlDBManager db = new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"]); AspNetPager1.RecordCount=db.CountPage("products");//获得要使用表的记录总数 //db.CountItems自定义的方法 this.BindData(); } } private void BindData() { SqlDBManager db= new SqlDBManager(System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionString"].ToString(); DataList1.DataSource=db.FenPage(this.AspNetPager1.PageSize,this.AspNetPager1.CurrentPageIndex,"productid","products","productid,productname,unitprice,unitsinstock",""); //自定义方法由 TOP not in 存储过程分页方法改编 this.DataList1.DataBind(); //控件数据绑定 this.Label1.Text="当前第"+this.AspNetPager1.CurrentPageIndex+"页 总"+this.AspNetPager1.PageCount+"页"; } private void AspNetPager1_PageChanged(object sender, System.EventArgs e) { //页索引改变方法 this.BindData(); } 设计页效果 <asp:DataList id="DataList1" style="Z-INDEX: 101; LEFT: 296px; POSITION: absolute; TOP: 96px" runat="server"> <HeaderTemplate> <table border='1'> <tr> <td>产品ID</td> <td>产品名称</td> <td>产品数量</td> <td>产品单价</td> </tr> </HeaderTemplate> <FooterTemplate> </table> </FooterTemplate> <ItemTemplate> <tr> <td><%# DataBinder.Eval(Container.DataItem,"Productid")%></td> <td><%# DataBinder.Eval(Container.DataItem,"productname")%></td> <td><%# DataBinder.Eval(Container.DataItem,"unitprice")%></td> <td><%# DataBinder.Eval(Container.DataItem,"unitsinstock")%></td> </tr> </ItemTemplate> </asp:DataList> <webdiyer:AspNetPager id="AspNetPager1" style="Z-INDEX: 102; LEFT: 256px; POSITION: absolute; TOP: 40px" runat="server" Width="500px" FirstPageText="首页" LastPageText="尾页" NextPageText="下一页" PrevPageText="上一页" Height="40px" NumericButt PagingButt ShowNavigati ShowInputBox="Always" TextAfterInputBox="页" TextBeforeInputBox="跳转到第" AlwaysShow="True"> </webdiyer:AspNetPager> <asp:Label id="Label1" style="Z-INDEX: 103; LEFT: 120px; POSITION: absolute; TOP: 56px" runat="server">Label</asp:Label>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值