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)文章
.NET Core結(jié)合Nacos實(shí)現(xiàn)配置加解密的方法
當(dāng)我們把應(yīng)用的配置都放到配置中心后,很多人會(huì)想到這樣一個(gè)問(wèn)題,配置里面有敏感的信息要怎么處理呢?本文就詳細(xì)的介紹了.NET Core Nacos配置加解密,感興趣的可以了解一下2021-06-06
asp.net用url重寫URLReWriter實(shí)現(xiàn)任意二級(jí)域名 新
最近有個(gè)朋友要做url重寫的東西,我?guī)退伺?回頭看當(dāng)年自己寫的那個(gè)文章,當(dāng)時(shí)以為自己寫的很容易理解.但現(xiàn)在再看卻覺(jué)得寫的不好.而今天百度了一下urlrewriter發(fā)現(xiàn)我這個(gè)文章竟然排第二.為了方便更多朋友,我再寫點(diǎn)東西補(bǔ)充下.2009-11-11
ASP.NET中Validation驗(yàn)證控件正則表達(dá)式特殊符號(hào)的說(shuō)明
本文介紹asp.net中RegularExpressionValidator控件中的幾種特殊字符串使用規(guī)則,并做了代碼演示,希望對(duì)大家有所幫助。2016-04-04
.NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例
這篇文章介紹了.NET?Core配置連接字符串和獲取數(shù)據(jù)庫(kù)上下文實(shí)例的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01
ASP.NET?Core通用主機(jī)的系統(tǒng)配置
這篇文章介紹了ASP.NET?Core通用主機(jī)系統(tǒng)配置的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
ASP.NET實(shí)現(xiàn)推送文件到瀏覽器的方法
這篇文章主要介紹了ASP.NET實(shí)現(xiàn)推送文件到瀏覽器的方法,可實(shí)現(xiàn)將文件推送到瀏覽器供用戶瀏覽或下載的功能,需要的朋友可以參考下2015-06-06
ASP.NET2.0 SQL Server數(shù)據(jù)庫(kù)連接詳解
本文將詳細(xì)介紹如何使用Connection對(duì)象連接數(shù)據(jù)庫(kù) 。對(duì)于不同的.NET 數(shù)據(jù)提供者,ADO.NET采用不同的Connection對(duì)象連接數(shù)據(jù)庫(kù)。這些Connection對(duì)象為我們屏蔽了具體的實(shí)現(xiàn)細(xì)節(jié),并提供了一種統(tǒng)一的實(shí)現(xiàn)方法。2009-07-07
在ASP.NET中支持?jǐn)帱c(diǎn)續(xù)傳下載大文件(ZT)源碼
這篇文章主要為大家介紹了在ASP.NET中如何做到支持?jǐn)帱c(diǎn)續(xù)傳下載大文件(ZT),需要的朋友可以參考下2014-07-07

