DATALIST分页的实例(VB.NET)
2004-08-26 18:16
295 查看
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Dim connstr as String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath("db/upload.mdb")&" "
Dim myconn As OleDbConnection = New OleDbConnection(connstr)
Dim Pagesize,Pagecount,RecordNum,CurrentPage as integer
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
'每页显示的个数
Pagesize=30
'联接数据库
myconn.open()
'计算总共有多少记录
Dim MyComm as OleDbCommand = new OleDbCommand("select count(*) as ID from data",myconn)
Dim dr as OleDbDataReader = MyComm.ExecuteReader()
Dim intCount as integer
if dr.Read() then
intCount =dr("ID")
else
intCount = 0
end if
dr.Close()
myconn.close()
lblRecordCount.Text =intcount
RecordNum=intcount
'计算总共有多少页
if recordnum mod pagesize=0 then
PageCount = RecordNum/PageSize
else
PageCount = RecordNum/PageSize +1
end if
' response.write(pagecount)
ViewState("PageCount") = PageCount
If Not IsPostBack then
CurrentPage = 0
ViewState("PageIndex") = 0
ListBind()
end if
End Sub
Sub Page_OnClick(sender As Object, e As CommandEventArgs)
CurrentPage = ViewState("PageIndex")
PageCount = ViewState("PageCount")
Dim cmd as string = e.CommandName
select case cmd
case "next":
if CurrentPage<(PageCount-1) then CurrentPage=+1
case "prev":
if CurrentPage>0 then CurrentPage-=1
end select
ViewState("PageIndex") = CurrentPage
ListBind()
end sub
sub listbind()
Dim StartIndex as integer
StartIndex = CurrentPage*PageSize
Dim strSel as string = "select * from data"
Dim ds as DataSet = new DataSet()
Dim MyAdapter as OleDbDataAdapter = new OleDbDataAdapter(strSel,myconn)
MyAdapter.Fill(ds,StartIndex,PageSize,"Result")
DataList1.DataSource = ds.Tables("result").DefaultView
DataList1.RepeatDirection = RepeatDirection.Horizontal
DataList1.DataBind()
lbnNextPage.Enabled = true
lbnPrevPage.Enabled = true
if(CurrentPage=(PageCount-1)) then lbnNextPage.Enabled = false
if(CurrentPage=0) then lbnPrevPage.Enabled = false
end sub
</script>
<html>
<table border=0 width="100%" cellspacing=0 cellpadding=0 align="center" style=Font-Size:9pt>
<tr>
<td width="50%">
<div align="left">共有照片<asp:Label id="lblRecordCount" runat="server" />张</div>
</td>
<td width="50%">
<div align="right"><a href="upload.aspx" target="_blank">上传照片</a></div>
</td>
</tr>
</table>
<asp:DataList id="DataList1" runat="server"
width="100%"
align="center"
BorderColor="black"
CellPadding="3"
Font-Size="9pt"
RepeatColumns=6
Border=1
>
<ItemStyle HorizontalAlign="Center" width="16%" ></ItemStyle>
<ItemTemplate>
<a href="detail.aspx?&id=<%# DataBinder.Eval(Container.DataItem, "ID") %>" target="_blank">
<img border="0" src="viewpic.aspx?type=small&id=<%# DataBinder.Eval(Container.DataItem, "ID") %>" alt="编号:<%# DataBinder.Eval(Container.DataItem, "ID") %>
介绍:<%# DataBinder.Eval(Container.DataItem, "PicComment")%>
长度:<%# DataBinder.Eval(Container.DataItem, "picsize")%>K
时间:<%# DataBinder.Eval(Container.DataItem, "uploadtime")%>
分辨率:<%# DataBinder.Eval(Container.DataItem, "picrev")%>
点击数:<%# DataBinder.Eval(Container.DataItem, "ClickNum")%>
点击查看原图">
</a>
<br>
<font color=#808080>- <%# DataBinder.Eval(Container.DataItem, "ID") %> -</font>
<br>
<%# DataBinder.Eval(Container.DataItem, "PicComment") %>
<br>
<%# DataBinder.Eval(Container.DataItem, "Picsize") %>K
</ItemTemplate>
</ASP:Datalist>
<form runat=server >
<table width="100%" border="0" align="center" style=Font-Size:9pt>
<tr>
<td align=center>
<asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
<asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" />
</td>
</tr>
</table>
</form>
</html>
<%@ Import Namespace="System.Data.OleDb" %>
<script language="VB" runat="server">
Dim connstr as String ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath("db/upload.mdb")&" "
Dim myconn As OleDbConnection = New OleDbConnection(connstr)
Dim Pagesize,Pagecount,RecordNum,CurrentPage as integer
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
'每页显示的个数
Pagesize=30
'联接数据库
myconn.open()
'计算总共有多少记录
Dim MyComm as OleDbCommand = new OleDbCommand("select count(*) as ID from data",myconn)
Dim dr as OleDbDataReader = MyComm.ExecuteReader()
Dim intCount as integer
if dr.Read() then
intCount =dr("ID")
else
intCount = 0
end if
dr.Close()
myconn.close()
lblRecordCount.Text =intcount
RecordNum=intcount
'计算总共有多少页
if recordnum mod pagesize=0 then
PageCount = RecordNum/PageSize
else
PageCount = RecordNum/PageSize +1
end if
' response.write(pagecount)
ViewState("PageCount") = PageCount
If Not IsPostBack then
CurrentPage = 0
ViewState("PageIndex") = 0
ListBind()
end if
End Sub
Sub Page_OnClick(sender As Object, e As CommandEventArgs)
CurrentPage = ViewState("PageIndex")
PageCount = ViewState("PageCount")
Dim cmd as string = e.CommandName
select case cmd
case "next":
if CurrentPage<(PageCount-1) then CurrentPage=+1
case "prev":
if CurrentPage>0 then CurrentPage-=1
end select
ViewState("PageIndex") = CurrentPage
ListBind()
end sub
sub listbind()
Dim StartIndex as integer
StartIndex = CurrentPage*PageSize
Dim strSel as string = "select * from data"
Dim ds as DataSet = new DataSet()
Dim MyAdapter as OleDbDataAdapter = new OleDbDataAdapter(strSel,myconn)
MyAdapter.Fill(ds,StartIndex,PageSize,"Result")
DataList1.DataSource = ds.Tables("result").DefaultView
DataList1.RepeatDirection = RepeatDirection.Horizontal
DataList1.DataBind()
lbnNextPage.Enabled = true
lbnPrevPage.Enabled = true
if(CurrentPage=(PageCount-1)) then lbnNextPage.Enabled = false
if(CurrentPage=0) then lbnPrevPage.Enabled = false
end sub
</script>
<html>
<table border=0 width="100%" cellspacing=0 cellpadding=0 align="center" style=Font-Size:9pt>
<tr>
<td width="50%">
<div align="left">共有照片<asp:Label id="lblRecordCount" runat="server" />张</div>
</td>
<td width="50%">
<div align="right"><a href="upload.aspx" target="_blank">上传照片</a></div>
</td>
</tr>
</table>
<asp:DataList id="DataList1" runat="server"
width="100%"
align="center"
BorderColor="black"
CellPadding="3"
Font-Size="9pt"
RepeatColumns=6
Border=1
>
<ItemStyle HorizontalAlign="Center" width="16%" ></ItemStyle>
<ItemTemplate>
<a href="detail.aspx?&id=<%# DataBinder.Eval(Container.DataItem, "ID") %>" target="_blank">
<img border="0" src="viewpic.aspx?type=small&id=<%# DataBinder.Eval(Container.DataItem, "ID") %>" alt="编号:<%# DataBinder.Eval(Container.DataItem, "ID") %>
介绍:<%# DataBinder.Eval(Container.DataItem, "PicComment")%>
长度:<%# DataBinder.Eval(Container.DataItem, "picsize")%>K
时间:<%# DataBinder.Eval(Container.DataItem, "uploadtime")%>
分辨率:<%# DataBinder.Eval(Container.DataItem, "picrev")%>
点击数:<%# DataBinder.Eval(Container.DataItem, "ClickNum")%>
点击查看原图">
</a>
<br>
<font color=#808080>- <%# DataBinder.Eval(Container.DataItem, "ID") %> -</font>
<br>
<%# DataBinder.Eval(Container.DataItem, "PicComment") %>
<br>
<%# DataBinder.Eval(Container.DataItem, "Picsize") %>K
</ItemTemplate>
</ASP:Datalist>
<form runat=server >
<table width="100%" border="0" align="center" style=Font-Size:9pt>
<tr>
<td align=center>
<asp:LinkButton id="lbnPrevPage" Text="上一页" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
<asp:LinkButton id="lbnNextPage" Text="下一页" CommandName="next" OnCommand="Page_OnClick" runat="server" />
</td>
</tr>
</table>
</form>
</html>
相关文章推荐
- 【三层】VB.net版登录实例
- vb.net 2008 datatable 数据填充 实例
- 关于VB.net 中的正则表达式(实例)
- VB.net连接SAP实例
- vb.net 教程 5-12 绘图实例之统计图 4 注意事项
- VB.NET三层登录实例(抽象工厂+反射+配置文件)
- VB.NET拷贝整个目录下所有子目录及文件的实例代码
- VB.net 关于程序单实例问题的解决方法
- VB.NET多线程开发实例
- vb.net里 对文件夹进行添加,复制,移动,删除 源码实例
- VB.Net常用的正则表达式(实例)
- [VB.NET源码]webservice的好实例
- [vb.net]简单多线程实例
- vb.net下如何销毁类的实例
- Vb.net Thread线程实例
- VB.net 2008实例:读写注册表与获取系统信息
- vb.net-连接数据库实例
- VB.NET多线程开发实例
- VB.NET版“三层登录”实例
- 使用VB.NET实现改变显示器的分辨率实例