easyui 前端分页及前端查询

Posted xtreme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui 前端分页及前端查询相关的知识,希望对你有一定的参考价值。

1、静态分页核心方法

// 前端分页 -- 将datagrid的loadFilter属性设置为这个方法名即可
function partPurchasePagerFilter(data) 
    if (typeof data.length == ‘number‘ && typeof data.splice == ‘function‘) 
        data = 
            total : data.length,
            rows : data
        
    
    var dg = $(this);
    var opts = dg.datagrid(‘options‘);
    var pager = dg.datagrid(‘getPager‘);
    pager.pagination(
        onSelectPage : function(pageNum, pageSize) 
            opts.pageNumber = pageNum;
            opts.pageSize = pageSize;
            pager.pagination(‘refresh‘, 
                pageNumber : pageNum,
                pageSize : pageSize
            );
            dg.datagrid(‘loadData‘, data);
        
    );
    if (!data.originalRows) 
        data.originalRows = (data.rows);
    
    var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);
    var end = start + parseInt(opts.pageSize);
    
    if(opts.queryParams.searchText && opts.queryParams.likeFields) // 实现前端查询过滤
        var sTxt = opts.queryParams.searchText,
            fields = opts.queryParams.likeFields;
        var nRows = data.originalRows.filter(function(row)
                        var isMatch = false;
                        fields.split(‘,‘).map(function(field) 
                             if (sTxt && row[field] && row[field].indexOf(sTxt.trim()) < 0) 
                                  
                              else if(row[field])
                                isMatch = true
                             
                        );
                        return isMatch;
                    );
        data.total = nRows.length;
        data.rows = (nRows.slice(start, end));
    else 
        data.rows = (data.originalRows.slice(start, end));
    
    
    return data;

 

2、触发前端查询过滤方式

   /**
    * 前端方式查询表格
    * @param tb (object): 表格对象
    * @param fields(string): 匹配的字段属性(多个以逗号分隔)
    * @param text(string): 检索的文本
* @eg: searchFun($(‘#userTable‘), ‘name,sex‘, ‘赵公子‘); *
*/ function searchFun(tb,fields,text) // 传递查询参数 $.extend(tb.datagrid(‘options‘).queryParams,searchText: text,likeFields: fields); // 触发表格数据前端刷新 tb.parents(‘.datagrid-wrap‘).find(‘.pagination-load‘).click();

 

至此完整的前端分页算完成<(* ̄▽ ̄*)/

 

以上是关于easyui 前端分页及前端查询的主要内容,如果未能解决你的问题,请参考以下文章

一个常见的elementUI表格,从后端获取数据并分页及查询

Django后端分页及前端显示效果

实用PHP5.2.9+MySQL5.6.26+Easyui 1.41出入口公司产品查询浏览表

掌握MyBatisPlus中的分页及条件查询构建 | 黑马程序员

jquery easyui datagrid 分页实现

easyUI前端ajax上传文件组件