发布一个未完善的分页DataList控件 -- PageDataList
2007-05-03 14:44 xiaosonl 阅读(1132) 评论(3) 编辑 收藏 举报做了几个网站后,发现分页显示组件是复用最高的一个组件之一,于是用了一晚上时间写个分页DataList控件,很简陋,但是还是挺好用的.
使用方法:
1.引用PageDataList.dll组件.
2.在工具箱中添加这个组件,然后就可以直接拖进页面,像DataList一样使用(因为PageDataList就是继承DataList的).
3.下一步是编辑ItemTemplate和FooterTemplate模板,如下:
<ItemTemplate>
<div id="post">
<div id="title"><%# Eval("Caption") %></div>
<div id="text"><%# Eval("Text") %></div>
<div id="footer">Posted @<%# Eval("AddDate") %> <%# Eval("UserName") %></div>
</div>
</ItemTemplate>
<FooterTemplate>
<asp:HyperLink ID = "lnkFirstPage" Text = "第一页" runat = "server" />
<asp:HyperLink ID = "lnkPageUp" Text = "上一页" runat = "server" />
<asp:TextBox ID = "txtPageIndex" runat = "server" Width = "30px" Text = "1" />
共<asp:Label ID = "lblPageCount" runat = "server" />页<asp:Label ID = "lblRecordCount" runat = "server" />条记录
每页<asp:Label ID = "lblPageSize" runat = "server" />条记录
<asp:HyperLink ID = "lnkPageDown" Text = "下一页" runat = "server" />
<asp:HyperLink ID = "lnkLastPage" Text = "最后一页" runat = "server" />
</FooterTemplate>
</tb:PageDataList>
ItemTemplate模板是自定义的,但是FooterTemPlate模板中必需要有相同ID,相同类型的控件存在.这会在以后慢慢改善.
4.最关键的一步,是要编写PageDataList的PageCreating事件代码,该事件有两个参数:pageIndex和pageSize,分别为当前页码和页大小,可使用这两个参数从数据访问层或业务逻辑层调用获取数据的方法,且必需返回一个Object,作为DataList的DataSource属性,如下:
{
return GetPageData(pageIndex, pageSize);
}
5.最后只要调用PageDataList.DataBind()方法就可以了.DataSource属性无需设置.
Demo以及完善版本这几天应该会放出的,五一过节先.
下载:
1.PageDataList(dll).rar
2.PageDataList(源代码).rar
--------------------------个人签名的分割线--------------------------------------
我的个人综合博客:http://www.xiaosonl.com