精华区 [关闭][返回]

当前位置:月光软件>>讨论区精华>>〖软件开发〗>>● ASP>>★ASP的延伸★>>ASP.NET>>亲密接触ASP.Net>>亲密接触ASP.Net(11) 在ASP.Net内中,如何做到分页

主题:亲密接触ASP.Net(11) 在ASP.Net内中,如何做到分页
发信人: xjn.dr(达特安)
整理人: dongbao(2001-06-16 14:18:36), 站内信件
我不只一次地被别人问起,如何在ASP.Net实现分页功能。我实在不愿意回答这个问题。因为在ASP.Net中实现分页,实在是太简单了,简单到你一看到程序就会去气得跳楼,呵呵要发表感叹,为什么这个东东不早出来。

在以住的WEB技术中,我们要做到分页,经常是一长串代码才能搞定它,而且每用一个页面,就要重写一次,烦的要命。但是在ASP.Net中借助DataGrid控件,我们分页程序可以轻松搞定,需要的只是对DataGrid控件做一些设定。我们还是借助一个程序来看:)

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Objectsrc,EventArgs e)
{
//联结语句
string MyConnString = "Driver={Microsoft Access Driver (*.mdb)};DBQ=c:/test/test.mdb;";
string strComm = "select * from UserList order by id";

//打开一个联结
ADOConnectionMyConnection = new ADOConnection(MyConnString);

//打开两个DataSetCommand
ADODataSetCommandMyComm = new ADODataSetCommand(strComm,MyConnection);


DataSetMyDataSet = new DataSet();

//把UserList,BookList表存入DataSet
MyComm.FillDataSet(MyDataSet,"UserList");


DataGrid1.DataSource = MyDataSet.Tables["UserList"].DefaultView;
DataGrid1.DataBind();

}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
<ASP:DataGrid id="DataGrid1" runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/>
</form>
</body>
</html>

它的显示结果为:



图11-1

大家可以看到在这个UserList表中的11条数据全都出来了,没有分页。

下面我们小改一下DataGrid控件的属性。加上 

AllowPaging="True"
PageSize="5"
PagerStyle-HorizontalAlign="Right"

再看看:


图11-2

看看图片的最下面,是不是多了,是不是,这就表示分页啦,我们去按那个标签就可以看到下一页的情况:)


图11-4

这一切是不是太简单了。呵呵。他们的来源只是我加了那三个属性。其实只要一个AllowPaging就行了。

AllowPaging是指允许分页,这个是最主要的。有了它,我们才能分页。

PageSize是指定每页显示的记录数,如果不写,就会默认为10条。

PagerStyle-HorizontalAlign是指定分面显示的定位,默认是Left。

全部代码是:

<ASP:DataGrid id="DataGrid1" runat="server"
AllowPaging="True"
PageSize="5"
PagerStyle-HorizontalAlign="Right"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/>
 

是不是很简单。呵呵。

注意写这个时不要忘记<form>了,不然你的页是能显示,但是不能翻,呵呵。因为这是需要提交的:)


[关闭][返回]






转载请注明:转载自 月光程序代码网 [ http://www.moon-soft.com ]