親密接觸ASP.Net(14)
2024-07-10 12:55:24
供稿:網(wǎng)友
,歡迎訪問網(wǎng)頁設(shè)計愛好者web開發(fā)。個性化分頁(2)
上一節(jié)大家沒有看到總的結(jié)構(gòu),這一節(jié),我把代碼全部貼出來,大家好好看看。
<%@ page language="c#" %>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.sql" %>
<html>
<script language="c#" runat="server">
void page_load(object sender, eventargs e)
{
//判斷是否隱藏pagerstyle-mode
if (chk1.checked)
{
mydatagrid.pagerstyle.visible=true;
}
else
{
mydatagrid.pagerstyle.visible=false;
}
bindgrid();
}
icollection createdatasource()
{
/*
讀取數(shù)據(jù)庫的信息,獲得dataview
*/
sqlconnection myconnection = new
sqlconnection("server=localhost;uid=sa;pwd=123456;database=aspcn");
sqldatasetcommand mydatasetcommand = new sqldatasetcommand("select * from
admin_enter order by enter_time desc",myconnection);
dataset ds= new dataset();
mydatasetcommand.filldataset(ds,"admin_enter");
return ds.tables["admin_enter"].defaultview;
}
void pagerbuttonclick(object sender, eventargs e)
{
//獲得linkbutton的參數(shù)值
string arg = ((linkbutton)sender).commandargument;
switch(arg)
{
case ("next"):
if (mydatagrid.currentpageindex < (mydatagrid.pagecount - 1))
mydatagrid.currentpageindex ++;
break;
case ("prev"):
if (mydatagrid.currentpageindex > 0)
mydatagrid.currentpageindex --;
break;
case ("last"):
mydatagrid.currentpageindex = (mydatagrid.pagecount - 1);
break;
default:
//本頁值
mydatagrid.currentpageindex = arg.toint32();
break;
}
bindgrid();
}
void mydatagrid_page(object sender, datagridpagechangedeventargs e)
{
//處理按下數(shù)字的方法
bindgrid();
}
void bindgrid()
{
//將dataview綁定到datagrid上去
mydatagrid.datasource = createdatasource();
mydatagrid.databind();
showstats();
}
void showstats()
{
//顯示頁面信息
lblcurrentindex.text = "當(dāng)前頁數(shù)為: " +
((int)mydatagrid.currentpageindex+1);
lblpagecount.text = "總頁數(shù)是: " + mydatagrid.pagecount;
}
</script>
<body>
<h3><font face="verdana">個性化的分頁實(shí)例^&^</font></h3>
<form runat=server>
<asp:datagrid id="mydatagrid" runat="server"
allowpaging="true"
pagesize="10"
pagerstyle-mode="numericpages"
pagerstyle-horizontalalign="right"
onpageindexchanged="mydatagrid_page"
bordercolor="black"
borderwidth="1"
gridlines="both"
cellpadding="3"
cellspacing="0"
font-name="verdana"
font-size="8pt"
headerstyle-backcolor="#aaaadd"
alternatingitemstyle-backcolor="#eeeeee"
autogeneratecolumns="false"
>
<property name="columns">
<asp:boundcolumn headertext="工作室成員" datafield="enter_id" />
<asp:boundcolumn headertext="登陸時間" datafield="enter_time" />
</property>
</asp:datagrid>
<p>
<asp:linkbutton id="btnfirst" runat="server"
text="首頁"
commandargument="0"
forecolor="navy"
font-name="verdana" font-size="8pt"
onclick="pagerbuttonclick"
/>
<asp:linkbutton id="btnprev" runat="server"
text="前頁"
commandargument="prev"
forecolor="navy"
font-name="verdana" font-size="8pt"
onclick="pagerbuttonclick"
/>
<asp:linkbutton id="btnnext" runat="server"
text="后頁"
commandargument="next"
forecolor="navy"
font-name="verdana" font-size="8pt"
onclick="pagerbuttonclick"
/>
<asp:linkbutton id="btnlast" runat="server"
text="末頁"
commandargument="last"
forecolor="navy"
font-name="verdana" font-size="8pt"
onclick="pagerbuttonclick"
/>
<p>
<asp:checkbox id="chk1" runat="server"
text="顯示內(nèi)置的頁數(shù)"
font-name="verdana"
font-size="8pt"
autopostback="true"
/>
<p>
<table bgcolor="#eeeeee" cellpadding="6"><tr><td nowrap><font
face="verdana" size="-2">
<asp:label id="lblcurrentindex" runat="server" /><br>
<asp:label id="lblpagecount" runat="server" /><br>
</font></td></tr></table>
</form>
</body>
</html>
上面是全部的源代碼,執(zhí)行后的顯示是:
圖14-1
按下隨便一個鍵,比如"末頁"
圖14-2
看,我們的程序就直接到了最后一頁,即第5頁,我們在下面的"當(dāng)前頁數(shù)"可以看到:)
我們再來點(diǎn)擊"顯示內(nèi)置的頁數(shù)"這個復(fù)選框,看看:
圖14-3
看,我們前兩節(jié)看到的那些小數(shù)字也出來了:)