041]S41:對表格的數據進行渲染;
[0042]S42:對表格的列寬設置類型進行判斷;若當前列寬為固定列寬,則執行步驟S45 ;若當前列寬為自適應列寬,則執行步驟S43 ;
[0043]S43:先計算并記錄當前數據的列寬;
[0044]S44:若大于緩存中的列寬時,則將當前列寬設置為最終列寬,并將當前列寬保存至緩存中。
[0045]S45:對渲染的行數進行判斷,若渲染的行數超過設定值時,則執行步驟S46.;若渲染的行數未超過設定值時,則返回步驟S41。在本實施例中,所述行數的設定值優選為10行。
[0046]S46:先將數據顯示至表格中,再返回步驟S41繼續渲染剩余的數據。
[0047]通過在表格渲染過程采用分段渲染方式,每渲染10行則將后面的操作放置于分時函數setTimeout中,然后讓出線程給UI線程,這樣表格會即時顯示出數據,而不會一直要等到全部數據渲染完才一次性顯示。如果不采用分時函數的方式,則界面會一直空白,直到數據全部渲染完才一次性顯示。從而,可以更加加快表格數據的渲染過程。
[0048]相比于現有技術,本發明通過分頁加載的方式,將數據大的表格分頁加載,提高加載速度。具體通過接收頁碼信息,根據頁碼加載相應的頁面。同時,對于表格的數據,建立數據模型,該模型可以放置于服務端,每次翻頁需要到服務端進行請求。或者放置于前端緩存中,這樣每次翻頁的時候,不用發送http請求來獲取數據。若數據模型建立在前端緩存中,翻頁時不用發送http請求來獲取數據,并且翻頁時會計算出應該取出該頁數據模型的數據索引范圍,然后根據索引取出數據,渲染到表格中,減少取數時間。
[0049]請參閱圖2,其為本發明的表格加載顯示裝置的示意圖。相對應于上述的表格的加載顯示方法,本發明提供了用于實現上述方法的表格的加載顯示裝置,包括列寬設置單元
1、數據模型生成單元2、頁碼信息檢測單元3、列寬判斷單元4、列寬計算單元5、行數判斷單元6和加載顯示單元7。
[0050]所述列寬設置單元1,其用于設置表格列寬的類型;所述列寬設置單元I所設置的列寬類型包括固定列寬和自適應列寬。
[0051]在本實施例中,在設置表格的列寬格式時,有多種設置方式,可不指定任何列自適應,也可指定某些列為自適應,表格渲染時會按最大列寬自適應,其他列等寬平鋪,適應不同分辨率;同時也可設置全部自適應,同樣表格渲染時會按最大列寬自適應,提供了多種方式,可以適用于不同的情況,更加靈活。所述自適應列寬為將表格的列寬設置為與表格中的數據長度相適宜。
[0052]進一步,為了實現列寬的調整,在本實施例中,是在表格的第一行創建一行高度為O的行,后面的行則不賦值寬度,只給這行高度為O的行賦值寬度并保存至緩存中,后面的行的列寬則會根據第一行來進行對齊。將第一行作為輔助行,由于第一行的高度為0,故用戶則無法在界面上看到該輔助行。
[0053]所述數據模型生成單元2,其用于生成表格數據模型,并將該數據模型存儲至服務端或前端緩存之中。對于表格的數據,在建立數據模型時,該模型可以放置于服務端,每次翻頁需要到服務端進行請求。或者放置于前端緩存中,這樣每次翻頁的時候,不用發送http請求來獲取數據。在本實施例中,優選將數據模型建立在前端緩存中,翻頁時不用發送http請求來獲取數據,并且翻頁時會計算出應該取出該頁數據模型的數據索引范圍,然后根據索引取出數據,渲染到表格中,減少取數時間。
[0054]所述頁碼信息檢測單元3,其用于檢測輸入的頁碼信息。
[0055]所述列寬判斷單元4,用于對當前列寬進行判斷,若當前列寬為固定列寬,則由加載顯示單元將數據渲染至表格中;
[0056]所述列寬計算單元5,用于當前列寬為自適應列寬時,計算并記錄當前列寬的寬度,若大于緩存中的列寬時,則將當前列寬設置為最終列寬,并將當前列寬保存至緩存中。
[0057]所述行數判斷單元6,用于對當前渲染的行數進行判斷,若渲染的行數超過設定值時,則先由加載顯示單元將數據顯示至表格中,再繼續進行渲染。作為優選,所述行數的設定值為10行。
[0058]所述加載顯示單元7,其用于加載顯示相應頁面信息。
[0059]相比于現有技術,本發明通過分頁加載的方式,將數據大的表格分頁加載,提高加載速度。具體通過接收頁碼信息,根據頁碼加載相應的頁面。同時,對于表格的數據,在建立數據模型時,該模型可以放置于服務端,每次翻頁需要到服務端進行請求。或者放置于前端緩存中,這樣每次翻頁的時候,不用發送http請求來獲取數據。若數據模型建立在前端緩存中,翻頁時不用發送http請求來獲取數據,并且翻頁時會計算出應該取出該頁數據模型的數據索引范圍,然后根據索引取出數據,渲染到表格中,減少取數時間。
[0060]本發明并不局限于上述實施方式,如果對本發明的各種改動或變形不脫離本發明的精神和范圍,倘若這些改動和變形屬于本發明的權利要求和等同技術范圍之內,則本發明也意圖包含這些改動和變形。
【主權項】
1.一種表格的加載顯示方法,包括以下步驟: 步驟一:對表格的列寬進行設置; 步驟二:建立數據模型,并將該數據模型放置于服務端或前端緩存之中; 步驟三:輸入頁碼信息; 步驟四:加載顯示所述頁碼所在的頁面。2.根據權利要求1所述表格的加載顯示方法,其特征在于:所述步驟一中,對表格中任意一列或多列的列寬分別設置為固定列寬或自適應列寬; 所述步驟四中,包括以下步驟: 對表格的列寬設置類型進行判斷; 若當前列寬為固定列寬,則將數據渲染至表格中;若當前列寬為自適應列寬,則先計算并記錄當前數據的列寬,若大于緩存中的列寬時,則將當前列寬設置為最終列寬,并將當前列寬保存至緩存中。3.根據權利要求2所述表格的加載顯示方法,其特征在于:對渲染的行數進行判斷,若渲染的行數超過設定值時,則先將數據顯示至表格中,再繼續渲染。4.根據權利要求3所述表格的加載顯示方法,其特征在于:所述行數的設定值為10行。5.—種表格的加載顯不裝置,其特征在于:包括 列寬設置單元,其用于設置表格列寬的類型; 數據模型生成單元,其用于生成表格數據模型,并將該數據模型存儲至服務端或前端緩存之中; 頁碼信息檢測單元,其用于檢測輸入的頁碼信息; 加載顯示單元,其用于根據頁碼,加載顯示相應頁面信息。6.根據權利要求5所述表格的加載顯示裝置,其特征在于:所述列寬設置單元所設置的列寬類型包括固定列寬和自適應列寬。7.根據權利要求6所述表格的加載顯示裝置,其特征在于:還包括一列寬判斷單元和列寬計算單元;所述列寬判斷單元對當前列寬進行判斷,若當前列寬為固定列寬,則由加載顯示單元將數據渲染至表格中;若當前列寬為自適應列寬時,則由所述列寬計算單元計算并記錄當前數據的列寬,若大于緩存中的列寬時,則將當前列寬設置為最終列寬,并將當前列寬保存至緩存中。8.根據權利要求7所述表格的加載顯示裝置,其特征在于:還包括一行數判斷單元,所述行數判斷單元對當前渲染的行數進行判斷,若渲染的行數超過設定值時,則先由加載顯示單元將數據顯示至表格中,再繼續進行渲染。9.根據權利要求8所述表格的加載顯示裝置,其特征在于:所述行數的設定值為10行。
【專利摘要】本發明涉及:一種表格的加載顯示方法,包括以下步驟:步驟一:對表格的列寬進行設置;步驟二:建立數據模型,并將該數據模型放置于服務端或前端緩存之中;步驟三:輸入頁碼信息;步驟四:加載顯示所述頁碼所在的頁面。相比于現有技術,本發明通過分頁加載的方式,將數據大的表格分頁加載,提高加載速度。具體通過接收頁碼信息,根據頁碼加載相應的頁面。進一步,通過在表格渲染過程采用分段渲染方式,每渲染10行則將后面的操作放置于分時函數setTimeout中,然后讓出線程給UI線程,這樣表格會即時顯示出數據,加快數據顯示速度。
【IPC分類】G06F17/30
【公開號】CN105528362
【申請號】CN201410520505
【發明人】張慶
【申請人】遠光軟件股份有限公司
【公開日】2016年4月27日
【申請日】2014年9月30日