ASP.NET技巧:做個(gè)DataList可分頁(yè)的數(shù)據(jù)源
這個(gè)數(shù)據(jù)源,分兩部分,一是從數(shù)據(jù)類中調(diào)出數(shù)據(jù),然后在本數(shù)據(jù)源中對(duì)分頁(yè)參數(shù)以及頁(yè)面分頁(yè)輔助控件進(jìn)行操作!在前面有三個(gè)控件控制翻頁(yè),一個(gè)下拉列表,兩個(gè)LinkButton!
下面 fill() 方法調(diào)用很簡(jiǎn)單,在頁(yè)面中要重新綁定的地方 寫上 fill() 就可以了,呵呵!但是一定要寫哦,例如翻頁(yè)動(dòng)作執(zhí)行后!
下面是db類中的ds方法
public static DataTable ds(string que)
{//返回一個(gè)裝載了SQL制定留言的數(shù)據(jù)表,
OleDbConnection con = odb.con();
OleDbDataAdapter oda = new OleDbDataAdapter();
oda.SelectCommand=new OleDbCommand(que,con);
DataSet ds = new DataSet();
oda.Fill(ds,"thc");
return ds.Tables["thc"];
con.Close();
}下面方法使用的數(shù)據(jù)源就是上面的這個(gè)
private void fill()
{//做的一個(gè)方法,因?yàn)轫?yè)內(nèi)將有多次的綁定
//這里設(shè)置一個(gè)隱藏的Label,用與儲(chǔ)存當(dāng)前的頁(yè)索引
int cup = Convert.ToInt32(pagelbl.Text);
PagedDataSource ps = new PagedDataSource();//NEW一個(gè)分頁(yè)數(shù)據(jù)源
ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一個(gè)SQL語(yǔ)句進(jìn)去,確定該數(shù)據(jù)源的數(shù)據(jù)源,有點(diǎn)繞吧,呵呵
ps.AllowPaging = true;//允許分頁(yè)
ps.PageSize = 2;//設(shè)置頁(yè)的數(shù)量
ps.CurrentPageIndex = cup-1;
if (!IsPostBack)
{//判斷頁(yè)面是否第一次載入
for (int i = 1; i <= ps.PageCount; i++)
{//循環(huán)出頁(yè)碼
pageddl.Items.Add(i.ToString());
}
}
//下面主要是控制上下翻頁(yè)按紐是否起用
pageup.Enabled = true;
pagedown.Enabled = true;
if (ps.IsFirstPage)
{//如果是最前頁(yè),上頁(yè)按紐不可用
pageup.Enabled = false;
}
if (ps.IsLastPage)
{//如果是最后頁(yè),下頁(yè)按紐不可用
pagedown.Enabled = false;
}
//設(shè)置頁(yè)碼下拉菜單當(dāng)前選中的值
pageddl.SelectedItem.Text = cup.ToString();
//終于可以綁定給DataList了
DataList1.DataSource = ps;
DataList1.DataKeyField = "id";
DataList1.DataBind();
}
再下面是翻頁(yè)事件的處理
protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
{//頁(yè)碼下拉菜單事件
pagelbl.Text = pageddl.SelectedItem.Text.ToString();
fill();
}
protected void pagedown_Click(object sender, EventArgs e)
{//下頁(yè)事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
fill();
}
protected void pageup_Click(object sender, EventArgs e)
{//上頁(yè)事件
pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
fill();
}
- asp.net中Datalist使用數(shù)字分頁(yè)的實(shí)現(xiàn)方法
- asp.net 通過(guò)aspnetpager為DataList分頁(yè)
- asp.net Datalist控件實(shí)現(xiàn)分頁(yè)功能
- asp.net實(shí)現(xiàn)DataList與Repeater嵌套綁定的方法
- ASP.NET數(shù)據(jù)綁定之DataList控件實(shí)戰(zhàn)篇
- ASP.NET數(shù)據(jù)綁定之DataList控件
- ASP.NET存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)效果(三層架構(gòu))
- ASP.NET無(wú)刷新分頁(yè)簡(jiǎn)單實(shí)現(xiàn)
- asp.net中如何調(diào)用sql存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)
- asp.net使用AJAX實(shí)現(xiàn)無(wú)刷新分頁(yè)
- asp.net中的GridView分頁(yè)問(wèn)題
- asp.net控件DataList分頁(yè)用法
相關(guān)文章
如何對(duì)ASP.NET網(wǎng)站實(shí)現(xiàn)靜態(tài)化
對(duì)于訪問(wèn)量比較大的網(wǎng)站,網(wǎng)頁(yè)靜態(tài)化是一個(gè)比較可靠的解決方案。靜態(tài)化將顯著降低服務(wù)器的壓力,提升服務(wù)器處理能力。下面將介紹兩種不同的實(shí)現(xiàn)方法,并進(jìn)行對(duì)比。2015-09-09ASP.NET GridView 實(shí)現(xiàn)課程表顯示(動(dòng)態(tài)合并單元格)實(shí)現(xiàn)步驟
GridView,ASP.NET中很常用的數(shù)據(jù)顯示控件,這里,我將用這個(gè)控件來(lái)實(shí)現(xiàn)課程表的顯示。首先說(shuō)說(shuō)課程表的顯示與普通記錄的顯示有何不同?感興趣的朋友可以了解下,或許對(duì)你有所幫助2013-02-02ASP.NET連接MySql數(shù)據(jù)庫(kù)的2個(gè)方法及示例
這篇文章主要介紹了ASP.NET連接MySql數(shù)據(jù)庫(kù)的2個(gè)方法及示例,使用的是MySQL官方組件和ODBC.NET,需要的朋友可以參考下2014-03-03asp.net實(shí)現(xiàn)識(shí)別客戶端瀏覽器或操作系統(tǒng)
這里給大家匯總了使用asp.net實(shí)現(xiàn)識(shí)別客戶端瀏覽器或操作系統(tǒng)的方法和示例代碼,有需要的小伙伴可以參考下。2015-10-10使用asp.net改變網(wǎng)頁(yè)上圖片顏色比如灰色變彩色
要能在網(wǎng)站上改變圖片的顏色,比如灰色的變成彩色,彩色的變成灰色多好啊,下面是通過(guò)asp.net實(shí)現(xiàn)的,有需求的朋友可以參考下2014-08-08解析在.net中使用XSLT轉(zhuǎn)換xml文檔的示例詳解
本篇文章是對(duì)在.net中使用XSLT轉(zhuǎn)換xml文檔的示例進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05利用ASP.NET MVC和Bootstrap快速搭建個(gè)人博客之文章打賞功能(六)
這篇文章主要介紹了利用ASP.NET MVC和Bootstrap快速搭建個(gè)人博客之文章打賞功能(六) 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07.NET開發(fā)基礎(chǔ):從簡(jiǎn)單的例子理解泛型 分享
.Net開發(fā)基礎(chǔ)系列文章,對(duì)自己之前寫過(guò)的代碼備忘,如能給人予幫助,不甚榮幸。個(gè)人能力有限,如有差錯(cuò)或不足,請(qǐng)及時(shí)指正。2013-06-06使用pdfbox實(shí)現(xiàn)pdf文本提取和合并功能示例
這篇文章主要介紹了使用pdfbox實(shí)現(xiàn)pdf文本提取和合并功能示例,大家參考使用吧2014-01-01