easyUi分页以及条件查询

//easyUi分页以及条件查询

JQuery 写法 (只需要找一个地方放入就行);
//大表格数据


var _getPage = localUrl + '/plugins/sqm/mservicemodel/findPage2EasyUI.ilf';
$('#dg').datagrid({
            url : _getPage,
            rownumbers : true,
            pagination : true,
            fitColumns : true,
            fit : true,
            singleSelect : false,
            pageSize : 10,
            pageList : [5, 10, 15],
            remoteSort:true,
            multiSort:true,
            queryParams : {conditions : getSearchConditions()},
            columns : [[
                {field: 'id', title: "id", checkbox:true, hidden: false, width: 100, sortable: true, align: 'center'},
                {field :'serviceCategory',title:'Service Category',hidden:false,width:50,sortable:true,align : 'center'},
                {field :'serviceModel',title:'Service Model',hidden:false,width:50,sortable:true,align : 'center'},
                {field :'description',title:'Description',hidden:false,width:50,sortable:true,align : 'center'}
                ]],                         
        });

    });

    //加条件   
    function getSearchConditions() {
        var searchName = $("#searchName").val().trim();

            if(searchName!=null){
                var param = [];
                param.push({
                    "name" : "searchName",
                    "value" : searchName
                });

                var conditions = $.toJSON(param);

            }

        return conditions;
    }

    //查询表格数据
    //searchGrid 绑定的是一个javascript事件方法
    function searchGrid() {
        var queryParams = {
            conditions : getSearchConditions()
        };
        $('#dg').datagrid('load', queryParams);
    }

//这是html标签页

<div data-options="region:'center',border:false" style="padding: 5px; width:900px; height: 300px;">
            <table id="dg"></table>
</div>

<input style="height: 26px;" name="alarmName" class="easyui-validatebox validatebox-text" id="searchName">

<a href="javascript:searchGrid()" class="easyui-linkbutton" style="margin-bottom: -40px;" iconCls="icon-search">Query</a>

JAVA 代码(固定TestController.java

@RequestMapping(value = "/findPage2EasyUI.ilf")
@ResponseBody
public EasyTableResult<MserviceModel> findPage(@RequestParam Integer page,
@RequestParam Integer rows, String sort, String order,
String conditions) throws Exception {
EasyTableResult<MserviceModel> result = new EasyTableResult<MserviceModel>();
try {

// 处理页码
Page<MserviceModel> dgpage = new Page<MserviceModel>();
page = (page == null || page == 0) ? 1 : page;
rows = (rows == null || rows == 0) ? 25 : rows;
dgpage.setStart((page - 1) * rows);
dgpage.setLimit(rows);
// 处理排序
Map<String, String> orders = new HashMap<String, String>();
if (sort != null && order != null) {
String[] colNames = sort.split(",");
String[] colOrders = order.split(",");
if (colNames.length == colOrders.length) {
for (int i = 0; i < colNames.length; i++) {
orders.put(colNames[i], colOrders[i]);
}
}
}
// 处理条件
Map<String, String> c = null;
if (conditions != null && !"".equals(conditions)) {
c = DataTableCondition.getCondition(conditions);
}
// 查询并返回结果 dgpage 使用返回的数据,可以从这里书写条件
dgpage = testService.findPageByCondition(dgpage, c, orders);

result.setStart(dgpage.getStart());

result.setRows(dgpage.getRows());
result.setTotal(dgpage.getTotalCount());

} catch (Exception e) {
e.printStackTrace();
System.out.println("............error.........:" + e.getMessage());
}

return result;
}

service层

TestService.java

public Page<MserviceModel> findPageByCondition(Page<MserviceModel> page,
        Map<String, String> conditions, Map<String, String> orders) {
    List<Criterion> criterionList = getCondition(conditions);   

    List<Order> orderList = new ArrayList<Order>();
    for (Map.Entry<String, String> m : orders.entrySet()) {
        if (m.getValue().endsWith("asc"))
            orderList.add(Order.asc(m.getKey()));
        else
            orderList.add(Order.desc(m.getKey()));
    }

    return mserviceModelDao.findPage(page, criterionList, orderList);
}

///这里是用来写条件的
private  List<Criterion> getCondition(Map<String, String> conditions){
    List<Criterion> criterionList =new ArrayList<Criterion>();

/*
    if (conditions.containsKey("dictNameFilter")&& !"".equals(conditions.get("dictNameFilter"))) {
        criterionList.add(Restrictions.like("serviceModel", "%"+ conditions.get("dictNameFilter") + "%"));
    }
    if (conditions.containsKey("serviceCategory")&& !"".equals(conditions.get("serviceCategory"))) {
        criterionList.add(Restrictions.eq("serviceCategory", ""+ conditions.get("serviceCategory") + ""));
    }
    if (conditions.containsKey("id")&& !"".equals(conditions.get("id"))) {
        criterionList.add(Restrictions.eq("id", Long.parseLong(conditions.get("id")) ));
    }
*/



    if(conditions.containsKey("searchName")&& !"".equals(conditions.get("searchName"))){
        System.out.println(conditions.get("searchName"));
        criterionList.add(Restrictions.like("serviceModel", "%"+ conditions.get("searchName") + "%"));
    }



    return criterionList;
}

“`

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值