DataList控件也玩分页(vb)

分页|控件

今天开发了一个系统。需要用多一行多列去展示图片。查找了一下DATAGIRD的属性。发现其没有重复列的功能。于是我使用了datalist的RepeatColumns="4"列重复功能,却又发现DATALIST没有分页功能。怎么办?于是写了下面的关于的分页程序。发出来希望对正在学ASP.NET程序的朋友能有所帮作。

下面是全部原代码,这里我使用了DataAdapter与DataSet组合,在开始程序的时候,我们首先要熟悉一下ASP.NET 中 DataAdapter,DataSet和ViewState的一些属性和使用方法:http://www.bookd.net/info/1461.htm ;

(本程序在.Net Framework Beta 2下测试通过)

<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ register tagprefix="head" tagname="menu" src="menu/head.ascx" %>
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.sqlclient" %>
<script runat="server">
dim db1 as string = "ietop_article"
Dim myconn as new sqlconnection("uid=sa;password=;database=ietop;server=(local)") Dim Pagesize,Pagecount,RecordNum,CurrentPage as integer Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
每页显示的个数 */
Pagesize=20
联接数据库 */
myconn.open()

计算符合该新闻系统的新闻条数 */
dim strsql as string = "select count(*) as Id from ["& db1 &"] where kind_id="&request("id")&""
dim MyComm as sqlcommand = new sqlCommand(strsql,myconn)
Dim dr as sqlDataReader = 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
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 id,title,dtime,writer,image from ["& db1 &"] where kind_id="&request("id")&" order by id desc"
Dim ds as DataSet = new DataSet()
Dim MyAdapter as sqlDataAdapter = new sqlDataAdapter(strSel,myconn)
MyAdapter.Fill(ds,StartIndex,PageSize,"Result")
'读取分页数据:使用DataSet,DataAdapter.Fill(ObjDataSet,开始数,结尾数,"数据")
arts_list.DataSource = ds.Tables("result").DefaultView
arts_list.RepeatDirection = RepeatDirection.Horizontal
arts_list.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>
<head>
<title>创艺家装</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link href="css/main.css" type="text/css" rel="stylesheet" />
</head>
<body>
<head:menu id="head1" runat="server"/>
<table cellspacing="0" cellpadding="0" width="769" border="0">
<tbody>
<tr>
<td width="158" bgcolor="#f2f2f2">
<img style="WIDTH: 158px; HEIGHT: 50px" height="50" src=http://www.163design.net/a/s/"image/left1.gif" width="165" /></td>
<td width="18" background=http://www.163design.net/a/s/"image/left.gif" rowspan="2" valign="top"><img src=http://www.163design.net/a/s/"image/left.gif" width="18" />
</td>
<td valign="top" width="583" bgcolor="#ffffff" rowspan="2">
<table><tr> <td width="560"><img src=http://www.163design.net/a/s/"images/menu_shang.gif" /></td>
</tr&gt

时间: 2024-09-14 22:28:38

DataList控件也玩分页(vb)的相关文章

DataList控件也玩分页 (转自aspcn.com)

分页|控件 众所周知,ASP.Net中给我们提供了三个数据控件--DataGrid,Repeater,DataList.在这三个控件中,DataGrid控件的功能最强大,Repeater控件最忠实于模版原样,DataList控件则兼而有之. DataGrid控件太有名了,所以以前用的讲的也很多,Repeater功能太少,没有什么好讲的.这里主要是讲一讲DataList控件. DataList控件其实功能也很强大,他支持选择.编辑,实现的方法也很简单,不过最令人头疼的就是它不像DataGrid控件

实现DataList控件的分页

分页|控件 DataList控件功能很强大,他支持选择.编辑,实现的方法也很简单,不过最令人头疼的就是它不像DataGrid控件一样内置了分页的功能,这么好的一个控件竟然不能分页!!!确实是一个很让人头疼的事情. 不过,只是DataList没有提供内置的分页功能,但是并不表示,我们不能使用DataList控件来实现分页,既然它不给我分页功能,那只好自己动手了. 下面是全部原代码,其实用到的方法和PHP中的分页差不多,只是这里用的是DataAdapter与DataSet组合,而不是PHP中的SQL

ASP.NET:DataList控件的选择输入功能

asp.net|控件     利用DataList控件的<SelectedItemTemplate> 属性,就可以随心所欲的布置表中的数据.根据链接,友好地显示出用户感兴趣的数据,我们来看下面的实例.     9.3.2 DataList控件的选择输入功能     在DataCon Web 项目里添加一个Web 窗体,命名为DataList_Sample2.aspx,添加一个DataList控件,DataList_Sample2.aspx的主要HTML代码如下: <form id=&qu

vb的DataCombo和DataList控件的使用(一)

使用DataCombo和DataList控件 DataCombo 和DataList控件与标准列表框和组合框控件极为相似,但有一些重要的不同之处,这种不同使这两个控件在数据库应用程序中具有极大的适应性和用武之地.这两个控件都可以被这些控件所绑定的数据库字段自动填充.此外,它们还能有选择地将一个选定的字段传递给第二个数据控件,从而适合用于创建"查找表"应用程序.可能的用法1.在一个关系数据库中,使用一个表的数据来提供要输入给第二个(相关的)表值.例如,在一个存货清单数据库中,供应商的名称

asp.net中将数据库绑定到DataList控件的实现方法与实例代码

解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如: 复制代码 代码如下: <asp:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetailedInfo_ItemDataBound" Width="100%"> <Ite

asp.net datalist控件图片展示问题

问题描述 asp.net datalist控件图片展示问题 我用datalist控件显示的图片,现在想让它单击放大,到一个新页,新页里按上一页的顺序可以实现上一页.下一页就行. 解决方案 解决方案二: 解决方案三: 一.绑定控件之DataList ???????该控件可以以自定义的格式显示各种数据源的字段,其显示数据的格式在创建的模板中定义,可以为项.交替项.选定项和编辑项创建模板.该控件也可以使用标题.脚注和分隔符模板自定义整体外观,还可以一行显示多个数据行.虽然DataList控件拥有很大的

asp.net中数据库绑定到DataList控件操作方法

我现在要做这个页面,然后我用DataList控件显示题目,我想问如何把我数据库教程的题目绑定到DataList控件里面,然后让它显示考试题目? 解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如:<asp教程:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetai

C#.net下DataList控件使用

问题描述 最近在学习C#.net,有谁能给我提供比较完整的DataList控件实现分页,添加删除,等功能的代码呢?谢谢! 解决方案 解决方案二:网上搜

asp.net中将数据库绑定到DataList控件的实现方法与实例代码_实用技巧

解决方法1: datalist databind() 解决方法2: 查看MSDN上的详细说明资料 解决方法3: 在DataList的模板中用table表格,如: 复制代码 代码如下: <asp:DataList ID="dlDetailedInfo" runat="server" OnItemDataBound="dlDetailedInfo_ItemDataBound" Width="100%"> <Ite