学习目的:学会用datagrid分页显示

    虽然说datagrid的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在datadrid控件的数据源实现了icollection接口的情况下才能启用分页功能,而datareader没有这个接口,所以必须使用datatable来代替。

<script runat=”server” language=””>

void page_load()



string strconnection=”provider=microsoft.jet.oledb.4.0;data source=”;

strconnection+=server.mappath(“guestbook.mdb”);

oledbconnection objconnection=new oledbconnection(strconnection);

oledbdataadapter objdataadapter=new oledbdataadapter(“select * from guestbook”,objconnection);

dataset objdataset=new dataset();

objdataadapter.fill(objdataset);

dgrdmain.datasource=objdataset;

dgrdmain.databind();

}

void dgrdmain_pageindexchanged(object sender, datagridpagechangedeventargs e)

{

dgrdmain.currentpageindex = e.newpageindex; 

databind(); 



</script>

<html>

<body> 

<:datagrid 

id=”dgrdmain” 

cellpadding=”1″ 

showheader=”true” 

borderwidth=”0″

allowpaging=”true” 启用分页功能

pagesize=”3″ 每一页显示三条记录 

onpageindexchanged=”dgrdmain_pageindexchanged ” 调用第×页的函数为dgrdmain_pageindexchanged()

runat=”server” 

/> 

</body>

</html> <script runat=”server” language=”vb”>

subpage_load

dim objconnection as oledbconnection

dim objdataadapter as oledbdataadapter

dim objdataset as dataset

objconnection=new oledbconnection(“provider=microsoft.jet.oledb.4.0;data source=”+server.mappath(“guestbook.mdb”))

objdataadapter=new oledbdataadapter(“select * from guestbook”,objconnection)

objdataset=new dataset

objdataadapter.fill(objdataset) 

dgrdmain.datasource=objdataset

dgrdmain.databind()

end sub

sub dgrdmain_pageindexchanged(sender as object,e as datagridpagechangedeventargs)

dgrdmain.currentpageindex = e.newpageindex

databind

end sub

</script> 

<html>

<body> 

<asp:datagrid 

id=”dgrdmain” 

cellpadding=”1″ 

showheader=”true” 

borderwidth=”0″

allowpaging=”true” 启用分页功能

pagesize=”3″ 每一页显示三条记录 

onpageindexchanged=”dgrdmain_pageindexchanged ” 调用第×页的函数为dgrdmain_pageindexchanged()

runat=”server” 

/> 

</body>

</html>

    这样就是最简单的分页,我们可以用参数pagestyle-mode=”nextprev/numericpages”来设定是显示上一页、下一页方式还是直接选择页面的数字方式来实现页面跳转。如果是前者我们可以用pagestyle-nextpagetext来设定包含下一页链接的文本,用pagestyle-prevpagetext来设定包含上一页链接的文本;如果是后者我们可以用pagerstyle-pagebuttoncount来设定在使用省略号之前显示的页面编号数量(默认是10) 

    今天就说到这里,明天说一下session和cookie。