DataList和DataRepeater分页
来源:互联网 发布:商业烟草公司对标数据 编辑:程序博客网 时间:2024/06/06 07:52
ASP.NET中的DataList和DataRepeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式!.可惜的是它们不像Datagrid那样,有内置的分页功能。如何解决呢?
其实我们可以【PagedDataSource】 类来解决分页的问题。PagedDataSource类的属性:
DataSource -数据源
AllowPaging - true 是否允许分页.PageSize - 每页项目数量PageCount - 总页数
CurrentPageIndex - 当前所在的页索引代码如下:
<%@ Page Language="VB" %><%@ import Namespace="System.Data" %><script runat="server"> Sub Page_Load(ByVal Sender As Object, ByVal e As EventArgs)
Dim Pgds As PagedDataSource = New PagedDataSource Pgds.DataSource = CreateDataSource().DefaultView Pgds.AllowPaging = True Pgds.PageSize = 6 lblTotalPage.Text = Pgds.PageCount.ToString()
Dim CurrentPage As Integer If Not Request.QueryString("Page") Is Nothing Then CurrentPage = Convert.ToInt32(Request.QueryString("Page")) Else CurrentPage = 1 End If
Pgds.CurrentPageIndex = CurrentPage - 1 lblCurrentPage.Text = CurrentPage.ToString()
If Not Pgds.IsFirstPage Then lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - 1) End If
If Not Pgds.IsLastPage Then lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + 1) End If
Repeater1.DataSource = Pgds Repeater1.DataBind()
End Sub
Function CreateDataSource() As Datatable
Dim dt As DataTableDim dr As DataRowDim i As Integer
dt = New DataTable dt.Columns.Add(New DataColumn("IntegerValue", GetType(Integer))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime))) dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean)))
For i = 0 To 50dr = dt.NewRow()dr(0) = idr(1) = "Item " + i.ToString()dr(2) = DateTime.Now.ToShortTimeStringIf (i Mod 2 <> 0) Thendr(3) = TrueElsedr(3) = FalseEnd If
dt.Rows.Add(dr)Next
Return dt
End Function
</script>
<html><head><title>DataRepeater</title><style type=text/css>
BODY {FONT: 10px Verdana, Arial, Helvetica, "sans serif"; COLOR: #000000; }.txt {FONT-SIZE: 12px}</style></head><body><form id="Form1" name=form1 method=post runat="server"><table class=txt width="100%" border=0><tbody><tr><td>
<asp:hyperlink id=lnkPrev runat="server">上页</asp:hyperlink> <asp:hyperlink id=lnkNext runat="server">下页</asp:hyperlink>第<asp:label id=lblCurrentPage runat="server"></asp:label> 页 共 <asp:label id=lblTotalPage runat="server"></asp:label>页
</td></tr></tbody></table><asp:repeater id=Repeater1 runat="server">
<ItemTemplate><hr align="left" width="60%" size="1"><table class=txt width="100%" border="0"><tr><td>Order Date: <%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %></td><tr><td>Quantity: <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N2}") %></td><tr><td>Item: <%# DataBinder.Eval(Container.DataItem, "StringValue") %></td><tr><td>Order Date: <asp:checkbox id=chk1 checked='<%# DataBinder.Eval(Container.DataItem, "BoolValue") %>' runat="server"/></td></tr></table></ItemTemplate>
</asp:repeater><hr hight="1">
</form>
</body>
</html>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>- DataList和DataRepeater分页
- DataList和DataRepeater分页
- DataList和DataRepeater分页
- DataList和DataRepeater分页
- 关于DataList和DataRepeater分页
- DataList和Repeater数据分页
- datalist和repeater通用分页
- DataList实现分页和排序
- DataList和Repeater数据分页
- DataList的绑定和分页
- datalist分页
- DataList 分页
- datalist分页
- DataList分页
- datalist 分页
- DataList分页
- DATALIST分页
- DataList分页
- AOP C#在行动
- FlatStyle按钮自己做
- DisplayFileInfo--文件信息
- 梦想照进现实
- 从 ASP.NET 服务器控件插入客户端脚本(引自MSDN中文网
- DataList和DataRepeater分页
- Hibernate的映射关联关系
- 画带阴影效果的文字
- DataBinder.Eval 用法
- 在DataGrid中应用DataGrid的行号作为一列的序号
- 关于Repeater控件的使用
- 在dotnet中如何使用资源(转自MS中国社区)
- Ms XmlDom 异步装载Xml文件
- IDesign C#编码规范(之三)