用pageDataSource類
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、深州網(wǎng)站維護、網(wǎng)站推廣。
與DataSource用法差不多
由于DataList本身沒有帶分頁功能,pageDateSource禰補了這個不足,你可以當(dāng)作DateSource來使用,沒有太大區(qū)別
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
public partial class _Default : System.Web.UI.Page
{
SqlHelper MySqlHelper = new SqlHelper(); // 我寫的數(shù)據(jù)庫操作方法集,創(chuàng)建一個實例
Operation MyOperation = new Operation(); // 我寫的網(wǎng)站通用處理方法集,創(chuàng)建一個實例
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GbookData();
lb_count.Text = MySqlHelper.MyScalar("SELECT COUNT(*) FROM BBS WHERE BBS_IsDisplay = '1'"); // 記錄條數(shù)
}
}
protected void GbookData() // 分頁程序代碼
{
string strURL = Request.RawUrl;
int intPage = 1;
PagedDataSource MyPager = new PagedDataSource();
MyPager.DataSource = MySqlHelper.MyDS("SELECT * FROM BBS WHERE BBS_IsDisplay = '1' ORDER BY BBS_ID DESC").Tables["MyTable"].DefaultView;
MyPager.PageSize = 9;
MyPager.AllowPaging = true;
hpl_first.Enabled = true;
hpl_up.Enabled = true;
hpl_down.Enabled = true;
hpl_end.Enabled = true;
if (strURL.Contains("/Page/"))
{
string strPage = strURL.Substring(strURL.LastIndexOf("/Page/") + 6);
if (strURL.Substring(strURL.LastIndexOf("/")) == "/")
{
Response.Redirect("NoAccess.htm");
}
if (Regex.IsMatch(strPage, "\\d"))
{
int thisPage;
try
{
thisPage = Convert.ToInt32(strURL.Substring(strURL.LastIndexOf("/Page/") + 6));
if (thisPage 1 || thisPage MyPager.PageCount)
{
Response.Redirect("NoAccess.htm");
}
else
{
intPage = thisPage;
}
}
catch
{
Response.Redirect("NoAccess.htm");
}
}
else
{
Response.Redirect("NoAccess.htm");
}
}
hpl_first.NavigateUrl = "~/GuestBook/Page/1";
hpl_up.NavigateUrl = "~/GuestBook/Page/" + (intPage - 1).ToString();
hpl_down.NavigateUrl = "~/GuestBook/Page/" + (intPage + 1).ToString();
hpl_end.NavigateUrl = "~/GuestBook/Page/" + MyPager.PageCount;
MyPager.CurrentPageIndex = intPage - 1;
Repeater_1.DataSource = MyPager;
Repeater_1.DataBind();
if (MyPager.IsFirstPage)
{
hpl_first.Enabled = false;
hpl_up.Enabled = false;
}
if (MyPager.IsLastPage)
{
hpl_down.Enabled = false;
hpl_end.Enabled = false;
}
lb_thispage.Text = intPage.ToString(); // 當(dāng)前頁碼
lb_totalpage.Text = MyPager.PageCount.ToString(); // 總頁數(shù)
}
}
當(dāng)然能,把你不分頁的程序貼出來,我給你修改嘛。
主要就是利用rs.PageSize等實現(xiàn),在你程序的下面語句:
rs.open sqlc,conn,1,1
之后,添加下面的代碼可以控制顯示的記錄范圍:
rs.PageSize = 10 'pagesize屬性指定了每頁要顯示的記錄條數(shù)
rs.AbsolutePage = Page '把頁碼賦給absolutepage屬性從而知當(dāng)前頁的首條記錄號
上的PAGE是調(diào)用是帶過來的參數(shù),沒有參數(shù)時指定為1,表示顯示第一頁。
兩個方案,一,是通過控件來控制分頁,就是先將數(shù)據(jù)全部讀到緩存中,然后利用控件的每頁顯示數(shù)量以及下一頁,上一頁的跳轉(zhuǎn)按鈕控制。二,是利用數(shù)據(jù)庫中的存儲過程來實現(xiàn),在存儲過程中已經(jīng)寫好分頁代碼,每次讀取的時候都只讀取一定數(shù)量的信息!!
分享標(biāo)題:vb.net數(shù)據(jù)庫分頁 數(shù)據(jù)庫實現(xiàn)分頁功能
標(biāo)題URL:http://chinadenli.net/article6/dodiiig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、做網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、建站公司、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)