none
GridView分頁問題?

    問題

  • 之前再1.1的時代要做自訂分頁, 撰寫的程式碼要很多(...Where  ID Not In(Select Top 10  ID ....From...類似這樣的語法), 才能提高換頁的效能

    可是再2.0的時代有GridVeiw可以提供分頁的功能, 因為小弟我有做一個測試

    我用GridView先撈了一千筆的資料,然後將網頁的原始檔另存新檔,

    檔案的大小為:25k

    然後我又撈了四萬筆的資料,然後將網頁的原始檔另存新檔,

    檔案的大小為:25k (傑克真是太神奇了!竟然一樣大小!)

    再我還沒測試之前

    (就是我剛用2005的時後一直以為GridView有提供的分頁功能,卻是一次將所查詢的資料全部存在網頁裏, 所以都不怎麼想用他)

    可是今天當我在測試的時後卻發現不是,難道是我誤解了嗎?

    想請問前輩有人知道GridView提供分頁的功能,是不是我們之前用DataGrid做自訂分頁的處理邏輯,謝謝!!

     

    2006年5月17日 下午 04:50

解答

  •  

       分頁時會重新向資料庫查詢資料

       並不是一次將全部資料Cache在Client端

       否則一次上萬筆的資料鐵定吃不消

      微軟技術支援中心

      Bon

    2006年5月18日 上午 03:30

所有回覆

  • U Got It!我記得上次在研討會有聽到講師說到分頁的作法,在ASP.NET2.0分頁作內部作法就如同2003以往自訂分頁的作法一樣。(有錯請指正,怕我觀念錯誤了)
    2006年5月18日 上午 01:05
    版主
  •  

       分頁時會重新向資料庫查詢資料

       並不是一次將全部資料Cache在Client端

       否則一次上萬筆的資料鐵定吃不消

      微軟技術支援中心

      Bon

    2006年5月18日 上午 03:30
  • 感謝各位前輩的回覆!

    那我再問一個問題,那GridView再做分頁的時後也是先算出總筆數, 然後再去判斷我的頁數索引去撈出我要的資料嗎?

    還有之前DataGrid如果有設分頁,可是自訂分頁的選項沒有打勾,必須再PageIndexChange的事件寫一個簡單的CODE:  

    DataGrid.PageIndex=e.NewPageIndex ,就我的觀點來說,我覺得DataGrid還是會把所有的資料查出來,然後再去判斷我要的資料,剩下的DataGrid就棄之不用, 所以我一開始認為GridView分頁的做法就是如此,不知道我的觀念對不對?

    謝謝!!

    2006年5月18日 上午 04:54
  • 希望對您有幫助

    DataReader + SQL指令(ROW_NUMBER)自訂分頁

    [習題]上集 Ch 14-4 撰寫ADO.NET DataReader的分頁程式#1(搭配SQL指令 ROW_NUMBER)

    http://www.dotblogs.com.tw/mis2000lab/archive/2010/11/30/datareader_paging_row_number.aspx

       

    自己寫完分頁程式,要搭配 GridView? Repeater? ListView?

    都可以

    [習題]上集 Ch 14-4 (Repeater與 ListView版) -- 撰寫ADO.NET DataReader的分頁程式#2(搭配SQL指令 ROW_NUMBER)

    http://www.dotblogs.com.tw/mis2000lab/archive/2011/05/20/datareader_paging_row_number_repeater.aspx


    我的書 與 ASP.NET教學網站 http://www.dotblogs.com.tw/mis2000lab/

    2013年6月11日 上午 06:39
  • 你把 SQL Server 跟 Web Server 分兩台電腦後,再看網路流量就會知道有差。

    在查詢語法上動手腳,負載在 SQL Server 上,直接用 .Net 分頁,負載在 Web Server ,同一台的話,差異感會比較小。

    基於以下兩個原因,建議你動查詢語法:

    1. 網路頻寬是頻頸,所以減少網路流量為優先。

    2. 資料庫查詢已經過資料庫軟體公司最佳化過,效能一般來說會比程式處理還好。

    2013年6月11日 下午 04:01
  • 關於 GridView 分頁用 SQL 預存程序
    只須查詢出1頁的資料量, 這對於資料庫與WebServer不在同一台時, 會加快很多

    http://www.player.idv.tw/prog/index.php/GridViewWithPager%EF%BC%88SQL%E9%A0%90%E5%AD%98%E7%A8%8B%E5%BA%8F%E5%88%86%E9%A0%81%EF%BC%89

    只是 GridView 要用改過的版本

    player


    • 已編輯 p1ayer 2013年6月13日 上午 10:04
    2013年6月13日 上午 10:02