關於應用程式中的分頁

2022-01-21 23:50:46 字數 1409 閱讀 1299

這幾天在工作過程遇到了wpf分頁的情況,以前在asp.net中分頁做過,而且asp.net中自帶了分頁控制項(自己覺得是乙個偽分頁),而wpf沒有自帶分頁控制項,在網上找了一下關於winform相關分頁資料,並學習了。這幾天腦袋一直在想一些問題,下面把一些想法記錄下來。這些想法只是自己的一些想法,僅供參考。

個人覺得真正的分頁實際上蘊含了兩層意思。(1)資料的分屏顯示(2)資料的分批獲取。

既然分頁實際包含了分屏和分批獲取資料,那我們先說說分屏的好處,分屏的好處不言而喻,每頁顯示適量的資料,讓客戶只關注當前屏的資料,不讓客戶有眼花繚亂的感覺。

再說說資料的分批獲取。這個可以說是提高使用者體驗的最本質的東西,每次伺服器端獲取適量的資料,而不是所有的資料。這樣單次獲取的資料會很快,立即呈現一批資料給使用者,這樣可以避免因為一次性獲取大量的資料畫大量的時間,而介面一直都是空的,讓使用者感覺一直沒有獲取到資料的感覺,以為操作失敗的假象。

從分屏顯示和分批載入資料兩個方面說了下分頁為什麼要分頁,分頁的好處也就很明顯了。   

我們知道了分頁有兩層意思,那麼怎樣分頁就很好弄了。

(一)分批獲取資料

儲存過程:

傳入引數:當前頁,當前顯示的條數(一般出入是固定的值),排序型別(公升序還是降序),排序字段。

輸出引數:總的記錄條數

傳入引數:起始記錄位置,當前頁顯示條數(一般是固定值),排序型別(公升序還是降序了),排序

字段輸出引數:bool型別,是否還有資料。

這些儲存過程網上有,後續將在實戰經驗裡寫上這些儲存過程運用。

(二)分屏顯示

這個很簡單,這裡不說了

而分頁真正的目的不是分屏,而是分批獲取資料,不管是b/s還是c/s程式,我點選那個頁或拖動滾動條就只取乙個固定適量記錄條數(這個資料比獲取所有滿足的條件的記錄條數速度肯定是快些的),然後馬上載入到介面,這樣馬上可以呈現到介面上,給使用者良好的體驗。

(一)分屏分批載入

這個種做法每次操作都要和伺服器互動。對於高頻變化的資料服務資料這種方法比較適合,這個可以用上面怎樣分頁中的儲存過程方法一實現

(二)不分屏分批載入

這裡的」不分屏分屏載入「,實際上是分屏了的,而是以滾動條的形式分屏的。只是以固定這種做法將資料以新執行緒或非同步的方式分批載入完成後,也是每載入一批資料立即顯示到介面上,給使用者的感覺資料不斷的載入(從一開始就有資料,介面不會空白等待等),將所有的資料取到,快取到本地的集合中,對快取本地集合進行排序,過濾等操作。這個可以用上面怎樣分頁中的儲存過程方法二實現

將使用,二中怎樣分頁的儲存過程實現分頁。這裡使用wpf作為作為案例講解。

(一)分屏分批載入

(二)不分屏分批載入

關於android應用程式的入口

關於android應用程式的入口 android應用程式,由一到多個activity組成.每個activity沒有很緊密的聯絡,因為我們可以在自己的程式中呼叫其它activity,特別是呼叫自己的 之外生成的activity,比如android提供的發簡訊或者打 的activity.分類 andro...

應用程式中的位址分布

全域性,初始化 資料段 全域性,未初始化 資料段 全域性,靜態,初始化 資料段 全域性,靜態,未初始化 資料段 全域性,常量 段 區域性,初始化 棧 區域性,未初始化 棧 區域性,靜態,初始化 資料段 區域性,靜態,未初始化 資料段 區域性,常量 棧 malloc分配 堆 分為區域性 全域性,區域性...

linux應用程式中的Singal

linux應用程式中的singal 標頭檔案 include 功 能 設定某一訊號的對應動作 函式原型 void signal int signum,void handler int int 或者 typedef void sig t int sig t signal int signum,sig ...