ASP.NET分頁組件學與用——使用篇
2024-07-10 12:57:31
供稿:網(wǎng)友
asp.net分頁組件學與用——使用篇
大家好,這篇文章承啟上一篇文章《asp.net分頁組件學與用——教學篇》。
在《asp.net分頁組件學與用——教學篇》中,我們講解了分頁組件的整個創(chuàng)建過程,那么在這一篇文章中,我們主要討論一下如何使用該組件。
請按以下步驟操作:
1、 創(chuàng)建一個web應用程序工程。
2、 將上篇文章中生成的組件添加到工具箱中。如果您不知道添加的過程,請參考文章《asp.net組件編程step by step》
3、 在默認的web窗體頁面中,切換到html視圖,把下列html代碼復制到<form>標簽中。
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="756" height="155" style="font-size:12px">
<tr>
<td width="756" height="23">分頁控件的使用實例</td>
</tr>
<tr>
<td width="756" height="110" valign="top" align="center" runat="server" id="myhtml"></td>
</tr>
<tr>
<td width="756" height="22">
</td>
</tr>
</table>
</center>
</div>
4、 該html代碼生成一個三行一列的表格,從工具箱將控件拖到該表格的第三行中。
5、 在private void page_load(object sender, system.eventargs e)事件處理程序中添加如下代碼:
int cp;
if(this.request.params["currentpage"] == null)
{
cp = 1;
}
else
{
cp = convert.toint32(this.request.params["currentpage"]);
}
sqlconnection con = new sqlconnection("server=accp-lzh;uid=sa;pwd=sasa;database=northwind");
sqlcommand cmd = new sqlcommand("select * from [order details]",con);
sqldataadapter adapter = new sqldataadapter();
adapter.selectcommand = cmd;
dataset ds = new dataset();
con.open();
adapter.fill(ds,"table");
con.close();
datatable dt = new datatable();
dt = ds.tables["table"];
//以下設置控件參數(shù)
this.lzhpages1.allcount = dt.rows.count;//總記錄條數(shù)
this.lzhpages1.currentpage = cp;//當前頁,從url中讀取
this.lzhpages1.showpages = 10;//導航數(shù)字個數(shù)
this.lzhpages1.count = 10;//每頁顯示的記錄條數(shù)
stringbuilder sql = new stringbuilder();
//以下三個字符串最終組合成一個完整的表格<table>
string htmlheader = "";//<table>標簽
string htmlbody = "";//中間有若干個<tr>標簽,即行
string htmlfoot = "";//</table>標簽
sql.appendformat("select top {0} * from [order details] where 1=1 and orderid not in (select top {1} orderid from [order details] where 1=1 order by orderid desc) order by orderid desc",this.lzhpages1.count,this.lzhpages1.currentpage * this.lzhpages1.count);
sqlcommand cmd1 = new sqlcommand(sql.tostring(),con);
adapter.selectcommand = cmd1;
con.open();
adapter.fill(ds,"table1");
con.close();
dt= ds.tables["table1"];
htmlheader = "<table style='font-size:12px' border='1' cellpadding='0' cellspacing='0' width='100%' bordercolor='#008000' bordercolorlight='#008000' bordercolordark='#ffffff'>/n";
for(int i = 0;i < dt.rows.count ;i ++)
{
htmlbody = htmlbody + string.format("<tr>/n<td width='12%'>{0}</td>/n<td width='43%'>{1}</td>/n<td width='24%'>{2}</td><td width='21%'>{3}</td>/n</tr>/n",dt.rows[i][0].tostring(),dt.rows[i][1].tostring(),dt.rows[i][2].tostring(),dt.rows[i][3].tostring());
}
htmlfoot = "</table>/n";
this.myhtml.innerhtml = htmlheader + htmlbody + htmlfoot;
6、 sql.appendformat("select top {0} * from [order details] where 1=1 and orderid not in (select top {1} orderid from [order details] where 1=1 order by orderid desc) order by orderid desc",this.lzhpages1.count,this.lzhpages1.currentpage * this.lzhpages1.count);此語句中的sql語句就是用來分頁的,我們的控件只是用來控制頁面,數(shù)據(jù)還得通過sql語句或存儲過程讀取。
7、 結(jié)果圖: