学习目的:学会用datagrid分页显示
虽然说datagrid的分页显示效率不怎么高,但是不管怎么说,它是最方便的分页显示,对于做一个留言簿还是相当简单实用的。对于启用分页功能还有一个重要要求,只能在datadrid控件的数据源实现了icollection接口的情况下才能启用分页功能,而datareader没有这个接口,所以必须使用datatable来代替。
<script runat="server" language="c#">
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>
<asp: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。