(1)jQuery pager plugin插件,看到很多例子都是把待分頁的數據一次性準備後,然後供其進行分頁處理,細想一下,如果要分頁的數據有幾W條甚至幾十萬上百萬條,這種策 略可能不行,所以使用了分頁存儲過程,每次只讀取一頁的數據,這樣就減小了數據傳輸量。
(2)數據總頁數 看到更多的例子都是在後台設定一個變量記錄總頁數,然後在界面的html裡讓jQuery pager plugin去取得這個變量值,然後進行分頁導航的處理。這樣似乎每次都得更新這個後台變量,如果不更新就會出錯嘍(試想一下,如果你正在讀取第6頁的數 據列表,可能你讀了10分鐘,而這10分鐘內,別人又添加了N條記錄,如果你不更新這個後台總頁數的變量,那分頁jQuery pager plugin插件就處理了錯誤的數據了,如果要每次要更新,那就不是無刷新效果了),所以我採用了一個笨方法來實現無刷新更新。其實焦點就是總頁數的處理問題。
(3)思路很簡單,頁面第一次加載的時候先通過一個異步請求取得總頁數TotalPages,然後把TotalPages交給jQuery pager plugin插件進行分頁處理,接著去讀取也是異步去取得第一頁的數據,其實每次讀新一頁的數據都是要進行上面的重複操作。
===============================================
SQL部分
1.最好每個table都有一個RowID
2.要寫一個取得資料筆數的sql command(getDataCount.aspx)
3.要寫一個取得資料的sql command,其條件是RowID(getData.aspx)
Html 部分
引用jquery-1.3.js、引用 jquery.pager.js、引用Pager.cssC
<link href="css/Pager.css" rel="stylesheet" type="text/css" />
<script src="Jscript/jquery-1.3.js" type="text/javascript"></script>
<script src="Jscript/jquery.pager.js" type="text/javascript"></script>
<form id="form1" runat="server">
<script language="javascript" type="text/javascript">
//總頁數,每次請求都要更新該變量,有的地方是在該頁的cs文件裡設一個變量,那樣每次都要更新該變量,似乎就不是異步刷新了
var total;//很重要很重要的關鍵點
//異步取得總頁數
GetTotal=function()
{
$.get('getDataCount.aspx','GetTotal=1',function(data){total=Math.ceil(data/5);},'text');//取得總筆數的aspx,每頁5筆資料,得到總頁數
}
//頁面加載完的時候進行初始化操作
$(document).ready(function()
{
GetTotal();//異步取得總頁數
$("#pager").pager({ pagenumber: 1, pagecount: total, buttonClickCallback: PageClick }); //初始化分頁導航
PageClick(1);//頁面初次加載時顯示第一頁
});
//單節分頁導航數字是執行異步加載數據
PageClick = function(pageclickednumber)
{
$("#pager").pager({ pagenumber: pageclickednumber, pagecount: total, buttonClickCallback: PageClick });
$.ajax({
url: 'getData.aspx', //取得資料的網頁
type: 'GET',
data: {pageindex: pageclickednumber}, //用這個來作為條件
timeout: 1000,
error: function(data){
alert(data.responseText);
},
success: function(data){
$("#result").html(data);
}
});
}
</script>
<div id="result" style="font-size:13px;">分頁器 </div>
<div id="pager" ></div>
</form>
http://www.cnblogs.com/BenBen789/archive/2009/06/06/1497434.html
http://www.cnblogs.com/yangtongnet/archive/2009/05/12/1455036.html