【開源】QuickPager ASP.NET2.0分頁控制元件V2.0.0.6 修改了幾個小bug,使用演示。
由於專案裡面還在使用vs2003,還沒有使用新的分頁控制元件,所以對新的分頁控制元件的測試還很不到位,遺留了不少的bug,感謝網友試用提出寶貴意見。由於專案正在收尾中,時間也不是太充裕,所以使用說明也不夠詳細。這次是發一個新的版本,另外主要是說一下,如何在一個頁面(一個專案)裡訪問多種資料庫,對多種資料庫裡的表進行分頁。
我用過的資料庫有SQL Server2000、SQL Server2005、Access、Excel,而分頁控制元件也支援這四種資料庫,那麼就以這四種資料庫為例。目的是在一個頁面裡面對這四種資料庫裡的表進行分頁顯示。
如何在專案裡新增控制元件,請看這裡:http://www.cnblogs.com/jyk/archive/2008/06/27/1231337.html
目前分頁控制元件裡面的分頁演算法有
// 基於Row_Number的分頁演算法,只支援SQL Server2005資料庫 Row_Number = 1,
// 基於表變數的分頁演算法,支援SQL Server2000、SQL Server2005資料庫 TableVar = 2,
// Max的分頁演算法。支援SQL Server2000、SQL Server2005資料庫 MaxMin = 3,
// 顛倒法,需要設定主鍵,已經修改了最後一頁的bug。支援SQL Server2000、SQL Server2005、Access、Excel TopTop = 4,
// Max 和 顛倒法自動切換 Max_TopTop = 304,
// Max 和 表變數自動切換 Max_TableVar = 302
資料庫就用 northwind 吧,這個大家都有吧。拿一個簡單的表Products來分頁吧。
1、在頁面裡拖拽四個GridView控制元件,和四個分頁控制元件,一一對應,每一組對應一種資料庫。
2、由於資料庫的型別不一樣,所以每一個分頁控制元件都需要不同的資料訪問函式庫的例項。由於web.confog裡面的連線字串是訪問SQL Server2000的,所以SQL Server2000對應的分頁控制元件就不用單獨設定了,其他的三個分頁控制元件需要單獨設定一下資料訪問函式庫的例項。(程式碼在下面一起給出)
3、資料訪問函式庫的例項設定完畢之後其他的設定就沒有特殊的地方了,和訪問一種資料庫是一樣的,只是對於Excel檔案來說,表名是工作表 + “$”組成的。比如工作表的名稱是“Sheet1”,那麼對應的表名是“Sheet1$”。
4、程式碼:
1protected void Page_Load(object sender, EventArgs e)
2 {
3 Response.Cache.SetNoStore();
4
5 設定SQL 2005的分頁控制元件需要的資料訪問函式庫的例項#region 設定SQL 2005的分頁控制元件需要的資料訪問函式庫的例項
6 //連線字串
7 string cnStr = @"Data Source=.s05;Initial Catalog=northwind ;persist security info=False;user id=sa;pwd=admin;";
8
9 //定義資料訪問函式庫
10 DataAccessHelp dal_2005 = new DataAccessHelp("1", cnStr);
11 //交給給分頁控制元件
12 this.myPager_2005.DAL = dal_2005;
13 #endregion
14
15 設定Access的分頁控制元件需要的資料訪問函式庫的例項#region 設定Access的分頁控制元件需要的資料訪問函式庫的例項
16 //連線字串
17 string Path = Server.MapPath("~/dataAccess.mdb");
18 cnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Jet OLEDB:Database Locking Mode=1;";
19
20 //定義資料訪問函式庫
21 DataAccessHelp dal_Access = new DataAccessHelp("2", cnStr);
22 //交給給分頁控制元件
23 myPager_Access.DAL = dal_Access;
24 #endregion
25
26 設定Excel的分頁控制元件需要的資料訪問函式庫的例項#region 設定Excel的分頁控制元件需要的資料訪問函式庫的例項
27 //連線字串
28 Path = Server.MapPath("~/dataExcel.xls");
29 cnStr = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + Path + ";Extended Properties=Excel 8.0";//;HDR=YES;
30
31 //定義資料訪問函式庫
32 DataAccessHelp dal_Excel = new DataAccessHelp("2", cnStr);
33 //交給給分頁控制元件
34 this.myPager_Excel.DAL = dal_Excel;
35 #endregion
36
37
38 if (!Page.IsPostBack)
39 {
40 setPageInfo1();
41 setPageInfo2();
42 setPageInfo3();
43 setPageInfo4();
44 }
45 }
46
47 設定分頁控制元件的屬性 sql 2000#region 設定分頁控制元件的屬性 sql 2000
48 private void setPageInfo1()
49 {
50 //以下三個屬性必須賦值
51 this.myPager_2000.ControlGridID = this.GV_2000.ID;
52
53 this.myPager_2000.TableName = " Products"; //表名或者檢視名
54 this.myPager_2000.TableIDColumns = "ProductID"; //主鍵
55 this.myPager_2000.TableShowColumns = "*"; //顯示的欄位,可以不填,預設為 *
56 this.myPager_2000.TableOrderColumns = "ProductName,ProductID "; //排序欄位,可以寫多個欄位
57 this.myPager_2000.TableQuery = ""; //查詢條件,不包含 where
58
59 this.myPager_2000.PageSize = 3; //一頁顯示的記錄數,預設一頁顯示20條記錄
60 this.myPager_2000.NaviCount = 8; //頁號導航的數量,預設10個
61
62
63 }
64 #endregion
其他資料庫的設定方法也是一樣的,省略了。下面的網址有完全的程式碼。
5、分頁控制元件的原始碼和demo的下載網址:http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html