日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Net 分頁實現系列之二基于sql語句分頁的方式

系統 2133 0
本文轉自: http://hi.baidu.com/maozilee/blog/item/99dc0cf49248a46ddcc47403.html
?? Sql 語句。很多情況下都是基于 Select Top ?? {0} * ?? From T_O_Log Where ?? Id Not in ( Select Top {1} Id From T_O_Log ?? Order By ID Desc ) Order By ID Desc

?? 其基本原理是獲取總數 M 條記錄,而通過 m 條記錄獲取所需分頁的 n 條最前的記錄。

例如 分頁中每頁為 10 條記錄,現在要跳轉到 10 頁去。那么總要獲取的紀錄為 100 條,而我們所需要的其實是最后的 10 條記錄而已。所以前面的 90 條記錄拋棄。

為了實現的方便,該例子是用 aspnetpager 做為顯示頁碼和分頁轉向,當然你也可以自己寫上一頁、下一頁的轉向工作

實現方法如下
第一步,從工具箱 Web 窗體 〉拖拉出 DataGrid 控件(或者是 DataList 等等)

<asp:DataGrid id="DataGrid1" runat="server" Width="100%" AutoGenerateColumns="False" singleValue="#F 7F 7F 7" oldValue="#FFFFFF">

</ asp:DataGrid>

第二步 雙擊該窗體,進入 codebehide
private void Page_Load( object sender, System.EventArgs e)

????????? {

?????????????? // 在此處放置用戶代碼以初始化頁面

????????? ????? if (!Page.IsPostBack)

?????????????? {

??????????????????? GetLog();

?????????????? }

????????? }

private void GetLog()

????????? {

?????????????? string strsql;

// 統計總的記錄數

?????????????? SqlConnection Conn = new SqlConnection();

??????????????????? Conn.ConnectionString =@"server=MIS\PMSERVER;uid=sa;pwd=sa;database=test";

??????????????????? Conn.Open();

??????????????????? strsql=" Select count(ID) From T_O_Log";

??????????????????? DataSet ds = new DataSet();

??????????????????? SqlDataAdapter Adp = new SqlDataAdapter(strSql, Conn );

??????????????????? Adp.Fill(ds,"TypeIdList"); ??????? ?????????????? this .AspNetPager1.RecordCount=System.Convert.ToInt32(ds.Tables[0].Rows[0][0]) ;

?????????????? BindData();

????????? }

private void BindData()

????????? {

?????????????? string strsql; ?????????????

?????????????? int RecordPage=(AspNetPager1.CurrentPageIndex-1)*AspNetPager1.PageSize; ????????? ????????? ??????????????

?????????????? SqlConnection Conn = new SqlConnection();

??????????????????? Conn.ConnectionString =@"server=MIS\PMSERVER;uid=sa;pwd=sa;database=test";

??????????????????? Conn.Open();

??????????????????? ????? strsql=String.Format(" Select Top ?? {0} * ?? From T_O_Log Where ?? Id Not in ( Select Top {1} Id From T_O_Log ?? Order By ID Desc) Order By ID Desc" ,AspNetPager1.PageSize.ToString(),RecordPage.ToString());
??????????????????? DataSet ds = new DataSet();

??????????????????? SqlDataAdapter Adp = new SqlDataAdapter(strSql, Conn );

??????????????????? Adp.Fill(ds,"TypeIdList");

?????????????? this .DataGrid1.DataSource=ds.Tables["T_O_Log"];

?????????????? this .DataGrid1.DataBind(); ???????????

?????????????? // 動態設置用戶自定義文本內容

?????????????? adp.Dispose(); ?????????????

?????????????? AspNetPager1.CustomInfoText=" 記錄總數: <font color=\"blue\"><b>"+AspNetPager1.RecordCount.ToString()+"</b></font>";

?????????????? AspNetPager1.CustomInfoText+=" 總頁數: <font color=\"blue\"><b>"+AspNetPager1.PageCount.ToString()+"</b></font>";

?????????????? AspNetPager1.CustomInfoText+=" 當前頁: <font color=\"red\"><b>"+AspNetPager1.CurrentPageIndex.ToString()+"</b></font>";

????????? }

private void AspNetPager1_PageChanged( object src, Wuqi.Webdiyer.PageChangedEventArgs e)

????????? { ??????????? AspNetPager1.CurrentPageIndex=e.NewPageIndex;

?????????????? BindData();

?????????????? System.Text.StringBuilder sb= new StringBuilder("<script Language=\"Javascript\"><!--\n");

?????????????? sb.Append("var el=document.all;");

?????????????? sb.Append( this .DataGrid1.ClientID);

?????????????? sb.Append(".scrollIntoView(true);");

?????????????? sb.Append("<");

?????????????? sb.Append("/");

?????????????? sb.Append("script>");

?????????????? if (!Page.IsStartupScriptRegistered("scrollScript"))

??????????????????? Page.RegisterStartupScript("scrollScript",sb.ToString());

Net 分頁實現系列之二基于sql語句分頁的方式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 连南| 永嘉县| 甘洛县| 海伦市| 千阳县| 尉氏县| 永善县| 赤壁市| 遂平县| 五河县| 绥滨县| 大同县| 西青区| 台南县| 东安县| 梨树县| 内江市| 乐平市| 叶城县| 富阳市| 武定县| 漠河县| 朝阳县| 洪湖市| 河间市| 嘉善县| 炎陵县| 会泽县| 灵丘县| 深水埗区| 甘德县| 科技| 阿拉善左旗| 上杭县| 卢湾区| 闽清县| 偏关县| 织金县| 柳州市| 厦门市| 元谋县|