亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

DataList控件也玩分頁

2019-09-10 09:07:18
字體:
來源:轉載
供稿:網友
眾所周知,ASP.Net中給我們提供了三個數據控件--DataGrid,Repeater,DataList。在這三個控件中,DataGrid控件的功能最強大,Repeater控件最忠實于模版原樣,DataList控件則兼而有之。

DataGrid控件太有名了,所以以前用的講的也很多,Repeater功能太少,沒有什么好講的。這里主要是講一講DataList控件。

DataList控件其實功能也很強大,他支持選擇、編輯,實現的方法也很簡單,不過最令人頭疼的就是它不像DataGrid控件一樣內置了分頁的功能,這么好的一個控件竟然不能分頁?。?!

確實是一個很讓人頭疼的事情。

不過,只是DataList沒有提供內置的分頁功能,但是并不表示,我們不能使用DataList控件來實現分頁,既然它不給我分頁功能,那只好自己動手了。

下面是全部原代碼,其實用到的方法和PHP中的分頁差不多,只是這里用的是DataAdapter與DataSet組合,而不是PHP中的SQL語句直接搞定。

(本程序在.Net Framework Beta 2下測試通過)


<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.OleDb" %>
<Script Language="C#" Runat="Server">
/*
Create By 飛刀
http://www.aspcn.com
2001-7-25 01:44

Support .Net Framework Beta 2
*/
OleDbConnection MyConn;
int PageSize,RecordCount,PageCount,CurrentPage;
public void Page_Load(Object src,EventArgs e)
{
//設定PageSize
PageSize = 10;

//連接語句
string MyConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+Server.MapPath(".")+"../DataBase/db1.mdb;";
MyConn = new OleDbConnection(MyConnString);
MyConn.Open();

//第一次請求執行
if(!Page.IsPostBack)
{
ListBind();
CurrentPage = 0;
ViewState["PageIndex"] = 0;

//計算總共有多少記錄
RecordCount = CalculateRecord();
lblRecordCount.Text = RecordCount.ToString();

//計算總共有多少頁
PageCount = RecordCount/PageSize;
lblPageCount.Text = PageCount.ToString();
ViewState["PageCount"] = PageCount;
}
}
//計算總共有多少條記錄
public int CalculateRecord()
{
int intCount;
string strCount = "select count(*) as co from Score";
OleDbCommand MyComm = new OleDbCommand(strCount,MyConn);
OleDbDataReader dr = MyComm.ExecuteReader();
if(dr.Read())
{
intCount = Int32.Parse(dr["co"].ToString());
}
else
{
intCount = 0;
}
dr.Close();
return intCount;
}

ICollection CreateSource()
{

int StartIndex;

//設定導入的起終地址
StartIndex = CurrentPage*PageSize;
string strSel = "select * from Score";
DataSet ds = new DataSet();

OleDbDataAdapter MyAdapter = new OleDbDataAdapter(strSel,MyConn);
MyAdapter.Fill(ds,StartIndex,PageSize,"Score");

return ds.Tables["Score"].DefaultView;
}
public void ListBind()
{
score.DataSource = CreateSource();
score.DataBind();

lbnNextPage.Enabled = true;
lbnPrevPage.Enabled = true;
if(CurrentPage==(PageCount-1)) lbnNextPage.Enabled = false;
if(CurrentPage==0) lbnPrevPage.Enabled = false;
lblCurrentPage.Text = (CurrentPage+1).ToString();

}

public void Page_OnClick(Object sender,CommandEventArgs e)
{
CurrentPage = (int)ViewState["PageIndex"];
PageCount = (int)ViewState["PageCount"];

string cmd = e.CommandName;
//判斷cmd,以判定翻頁方向
switch(cmd)
{
case "next":
if(CurrentPage<(PageCount-1)) CurrentPage++;
break;
case "prev":
if(CurrentPage>0) CurrentPage--;
break;
}

ViewState["PageIndex"] = CurrentPage;

ListBind();

}
</script>
<html>
<head>
<title></title>
</head>
<body>
<form runat="server">
共有<asp:Label id="lblRecordCount" ForeColor="red" runat="server" />條記錄  
當前為<asp:Label id="lblCurrentPage" ForeColor="red" runat="server" />/<asp:Label id="lblPageCount" ForeColor="red" runat="server" />頁  

<asp:DataList id="score" runat="server"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="Gainsboro"
EditItemStyle-BackColor="yellow"
>
<ItemTemplate>
姓名:<%# DataBinder.Eval(Container.DataItem,"Name") %>
<asp:LinkButton id="btnSelect" Text="編輯" CommandName="edit" runat="server" />
</ItemTemplate>
</asp:DataList>
<asp:LinkButton id="lbnPrevPage" Text="上一頁" CommandName="prev" OnCommand="Page_OnClick" runat="server" />
<asp:LinkButton id="lbnNextPage" Text="下一頁" CommandName="next" OnCommand="Page_OnClick" runat="server" />

</form>
</body>
</html>


 


運行結果如上圖:)

大家在寫程序時,最重要的是自己去動腦去想,決對不是一出現問題去哪去問。問題太簡單了,還沒有人愿意回答。

多多思考,多多查資料,才是真正有收獲的。
 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品视频一区二区三区四| 国产精品久久久久久久久久三级| 日韩成人小视频| 欧美极品在线视频| 日韩经典中文字幕| 久久精品99国产精品酒店日本| 亚洲精品mp4| 在线成人激情视频| 亚洲欧美日韩区| 久久久久久美女| 激情成人中文字幕| 欧美日韩福利视频| 欧美视频第一页| 国产精品第8页| 国产一区二区在线播放| 38少妇精品导航| 成人黄色午夜影院| 久久久久久久国产精品| 国产精品一区二区三区免费视频| 91中文字幕在线| 国产日本欧美一区二区三区在线| 国产成人自拍视频在线观看| 久久99国产精品自在自在app| 九九精品在线观看| 日韩在线观看网址| 亚洲福利视频二区| 久久久精品国产一区二区| 国产精品热视频| 中文字幕亚洲色图| 国产精品久久久久久亚洲影视| 成人国产精品一区二区| 亚洲最大成人网色| 欧美精品videos| 日本高清视频精品| 欧美—级a级欧美特级ar全黄| 久久久久久久999精品视频| 国产精品视频久久久久| 九九久久国产精品| 欧美极品美女电影一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 91在线观看免费| 国产日韩中文在线| 午夜精品一区二区三区在线| 国产精品日韩在线一区| 亚洲在线免费视频| 亚洲国产精品国自产拍av秋霞| 欧美性猛交xxxx免费看漫画| www.日韩不卡电影av| 国产成人精品久久二区二区91| 91天堂在线观看| 国产精品高潮呻吟久久av野狼| 国产精品久久久久久久9999| 欧美综合激情网| 91久久中文字幕| 精品国产91乱高清在线观看| 欧美乱妇40p| 久久久久久美女| 亚洲天堂av在线免费观看| 疯狂做受xxxx欧美肥白少妇| 不卡在线观看电视剧完整版| 91香蕉亚洲精品| 姬川优奈aav一区二区| 精品亚洲夜色av98在线观看| 国产成人精品在线| 91精品久久久久久久久中文字幕| 欧美日韩在线观看视频| 96精品久久久久中文字幕| 精品国产鲁一鲁一区二区张丽| 国产剧情日韩欧美| 亚洲国产精品99久久| 亚洲成人精品在线| 欧美日韩成人在线观看| 色妞一区二区三区| 亚洲天堂av高清| 国产精品美女在线| 亚洲精品在线视频| 国产福利视频一区二区| 欧美成人免费在线视频| 欧美极度另类性三渗透| 国产精品日韩专区| 69精品小视频| 亚洲国产精品小视频| 欧美国产日本在线| 日韩经典一区二区三区| 亚洲欧美日韩综合| 亚洲一区美女视频在线观看免费| 久久69精品久久久久久国产越南| 欧美视频国产精品| 欧美激情久久久久久| 成人免费观看49www在线观看| 久久久久久伊人| 国产欧美日韩精品在线观看| 国产精品入口免费视频一| 成年无码av片在线| 欧美中文字幕在线视频| 亚洲精品乱码久久久久久金桔影视| 亚洲人a成www在线影院| 91精品国产高清| 久久亚洲精品一区| 精品国产一区二区三区四区在线观看| 精品国产鲁一鲁一区二区张丽| 2019日本中文字幕| 欧美中文字幕第一页| 亚洲精品v欧美精品v日韩精品| 在线观看国产成人av片| 欧美午夜丰满在线18影院| 亚洲精品久久久一区二区三区| 亚洲欧美制服第一页| 中文字幕在线成人| 国产成人激情视频| 国产精品mp4| 91精品国产91久久久久久吃药| 5252色成人免费视频| 国产精品日韩在线一区| 日韩在线观看电影| 456国产精品| 在线观看成人黄色| 精品久久久久久亚洲国产300| 欧美高跟鞋交xxxxxhd| 成人网址在线观看| 欧美性猛交xxxx乱大交蜜桃| 97香蕉超级碰碰久久免费软件| 日韩中文字在线| 国产综合香蕉五月婷在线| 在线视频日韩精品| 日韩综合中文字幕| 久久久久成人精品| 欧美一二三视频| 欧美精品情趣视频| 久久精品亚洲热| 欧美疯狂xxxx大交乱88av| 国产精品久久中文| 伊人av综合网| 欧美放荡办公室videos4k| 日韩**中文字幕毛片| 欧美自拍大量在线观看| 亚洲精品久久久一区二区三区| 欧美成人三级视频网站| 91精品国产高清久久久久久| 精品少妇v888av| 岛国视频午夜一区免费在线观看| 久久这里有精品| 最近2019好看的中文字幕免费| 夜夜狂射影院欧美极品| 欧美大胆a视频| 亚洲福利视频免费观看| 久久综合免费视频| 视频在线观看99| 啪一啪鲁一鲁2019在线视频| www亚洲精品| 综合欧美国产视频二区| 亚洲美女性视频| 欧美日本精品在线| 国产91色在线| 久久久久久亚洲精品中文字幕| 国产成人一区二区在线| 91亚洲精品在线| 国产激情久久久| 国产91精品视频在线观看| 在线观看91久久久久久| 久久精品2019中文字幕| 国语自产在线不卡| 欧美一级片在线播放| 91色在线视频|