久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

EasyUI Datagrid 分頁顯示(客戶端)

 ajax111 2015-04-08

EasyUI Datagrid 分頁顯示(客戶端)

By ZYZ

       在使用JQuery EasyUI 的Datagrid 控件時,,其中的pagination(分頁控件)非常有用,該分頁控件允許用戶導(dǎo)航頁面的數(shù)據(jù),,它支持頁面導(dǎo)航和頁面長度選擇的選項設(shè)置,。

Pagination控件上的顯示文字默認是英文的,在引用了中文翻譯文件(easyui-lang-zh_CN.js)可以全部顯示為中文,。如下:

  1. <scripttype="text/javascript" src="../../js/easyui-lang-zh_CN.js"></script>  

首先初始化datagrid

如果要達到正常的分頁效果,,需要在初始化函數(shù)內(nèi)對datagrid的分頁方法進行設(shè)置。

  1. $(function(){  
  2.   
  3. $('# table').datagrid({loadFilter:pagerFilter});  
  4.   
  5. });  
設(shè)置datagrid獲取數(shù)據(jù)的來源:

在這里分別以get和post方法來獲取數(shù)據(jù),。

  1. functionSearchTrainee() {  
  2. //獲取搜索條件  
  3.             var companyCode =$('#hiddenCompanyCode').val();  
  4.             var name = $('#txtName').val();  
  5.             var planName =$('#textSearchPlan').val();  
  6.             if (companyCode == "")companyCode = "000";  
  7.             var rowsData = "[]";  
  8. //get方法:  
  9. varhandler = "Ajax/GetTraineeHandler.ashx?Name=" + name +"&PlanName=" + planName + "&CompanyCode=" +companyCode;   
  10.            $('#tableTrainee').datagrid('options').url = encodeURI(handler);  
  11.            $('#tableTrainee').datagrid('reload');            
  12. //post方法:  
  13.            $.post('Ajax/GetTraineeHandler.ashx', {  
  14.                 Name: name,  
  15.                 PlanName: planName,  
  16.                 CompanyCode: companyCode  
  17.             }, function (data) {  
  18.                $('#tableTrainee').datagrid('loadData', JSON.parse(data));  
  19.             });  
  20.         }  
Post方法中的JSON.parse 函數(shù)很重要,它將post得到的字符串轉(zhuǎn)換成了object類,,因為過濾函數(shù)中需要使用object類的參數(shù),。

設(shè)置頁面過濾函數(shù)

       

  1. function pagerFilter(data)  
  2.      {  
  3.           var dg = ('#table').datagrid();;  
  4.           var opts = dg.datagrid('options');  
  5.           var pager = dg.datagrid('getPager');  
  6.           pager.pagination({  
  7.                 onSelectPage:function(pageNum, pageSize){  
  8.                     opts.pageNumber = pageNum;  
  9.                     opts.pageSize = pageSize;  
  10.                     pager.pagination('refresh',{  
  11.                         pageNumber:pageNum,  
  12.                         pageSize:pageSize  
  13.                     });  
  14.                     dg.datagrid('loadData',data);  
  15.                 }  
  16.             });  
  17.             if(!data.originalRows){  
  18.                 data.originalRows =(data.rows);  
  19.             }  
  20.             var start =(opts.pageNumber-1)*parseInt(opts.pageSize);  
  21.             var end = start + parseInt(opts.pageSize);  
  22.             data.rows =(data.originalRows.slice(start, end));  
  23.             return data;  
  24.         }  

一般獲取Data數(shù)據(jù)時會采用一次獲取全部數(shù)據(jù),這種方法的確很方便省事,。一次獲取數(shù)據(jù)數(shù)據(jù)保存在瀏覽器中,,翻頁和改變行數(shù)的動作會非常的快速。

但是如果獲取的數(shù)據(jù)量非常龐大,,比如一百萬行數(shù)據(jù)時怎么辦呢,?一次全部獲取的話會嚴重影響Datagrid的加載速度,也加重了數(shù)據(jù)庫服務(wù)器的工作負擔,,如果遇到并發(fā)用戶非常多的情況,,那就更加慢了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多