1.js设置

//=====================数据加载=====================
/**
* grid加载数据
*
* @returns
*/
function gridLoad() {
$('#t_goods').datagrid({
idField : 'id', // 只要创建数据表格 就必须要加 ifField
title : '标的列表',
fit : true,
url : parent.baseUrl+'goods',
// url : '../file/uploadImg',
method : 'GET',
fitColumns : true,
striped : true, // 隔行变色特性
nowrap : false,
loadMsg : '数据正在加载,请耐心的等待...',
rownumbers : true,
sortName : 'crtTime',
sortOrder : 'desc',
rowStyler : function(index, record) {
},
frozenColumns : [ [ // 冻结列特性 ,不要与fitColumns 特性一起使用
{
field : 'ck',
width : 50,
checkbox : true
} ] ],
columns : [ [ {
field : 'goodsNo',
title : '内部代码',
width : 80,
sortable :true,
align : 'center'
}, {
field : 'name',
title : '标的名称',
width : 80,
sortable :true,
align : 'center'
}, {
field : 'plateNum',
title : '车牌号',
width : 80,
sortable :true,
align : 'center'
},{
field : 'firstTypeName',
title : '标的类型',
width : 50,
sortable :true,
align : 'center'
}, {
field : 'secondTypeName',
title : '标的小类',
width : 50,
sortable :true,
align : 'center'
},{
field : 'provinceItemName',
title : '标的所在省',
width : 50,
sortable :true,
align : 'center'
}, {
field : 'cityItemName',
title : '标的所在市',
width : 50,
sortable :true,
align : 'center'
}, {
field : 'qtyFact',
title : '实收数量',
width : 30,
align : 'center'
}, {
field : 'unit',
title : '计量单位',
width : 25,
align : 'center'
}, {
field : 'storage',
title : '库存',
width : 50,
align : 'center',
formatter : storageFtt
}, /*{
field : 'announcement',
title : '公告',
width : 50,
align : 'center',
formatter : announcementFtt
}, */{
field : 'auction',
title : '拍卖/变卖日志',
width : 50,
align : 'center',
formatter : auctionFtt
}, {
field : 'crtTime',
title : '创建时间',
width : 60,
sortable :true,
align : 'center'
}, {
field : 'action',
title : '操作',
width : 80,
align : 'center',
formatter : actionFtt
} ] ],
onLoadSuccess:function(data){
if(top.checkHiddenSet("plateNumFlag")){
$("#t_goods").datagrid("hideColumn", "plateNum"); // 设置隐藏列
}
} ,
pagination : true,
pageSize : 10,
pageList : [ 5, 10, 15, 20, 50 ],
toolbar : toolbarFtt()
});
};

2.controller控制器代码

    @RequestMapping(method = RequestMethod.GET, produces = { "application/json" })
@ResponseBody
public ListWithTotalCount<GoodsDTO> auctionGoodsQuery(@ModelAttribute("selectedAgency") SysAgencyDto selectedAgency,
String goodsNo, String name, String goodsType, int page, int rows, String order, String sort) {
Pageable pageable;
String agencyId = selectedAgency.getId().toString(); if (sort != null && !sort.isEmpty()) {
pageable = new PageRequest(page - 1, rows, Direction.fromStringOrNull(order), sort);
} else {
pageable = new PageRequest(page - 1, rows);
} if (logger.isDebugEnabled()) {
logger.debug("auctionGoodsQuery, goodsNo: {}, name: {}, goodsType: {}", goodsNo, name, goodsType);
} Specification<Goods> spec = (root, query, cb) -> {
List<Predicate> predicates = new ArrayList<Predicate>(); if (goodsNo != null && !goodsNo.isEmpty()) {
Predicate predicate = cb.like(root.get(Goods_.goodsNo), "%" + goodsNo + "%");
predicates.add(predicate);
} if (name != null && !name.isEmpty()) {
Predicate predicate = cb.like(root.get(Goods_.name), "%" + name + "%");
predicates.add(predicate);
} if (agencyId != null && !agencyId.isEmpty() && !"0".equals(agencyId)) {
Predicate predicate = cb.equal(root.get(Goods_.agencyId), agencyId);
predicates.add(predicate);
} if (goodsType != null && !goodsType.isEmpty()) {
Predicate predicateAuctionType = cb.like(root.get(Goods_.firstType).get(GoodsType_.name),
"%" + goodsType + "%");
Predicate predicateAuctionSmlType = cb.like(root.get(Goods_.secondType).get(GoodsType_.name),
"%" + goodsType + "%");
Predicate predicate = cb.or(new Predicate[] { predicateAuctionType, predicateAuctionSmlType });
predicates.add(predicate);
} if (!predicates.isEmpty()) {
return cb.and(predicates.toArray(new Predicate[0]));
} else {
return null;
}
}; Page<Goods> pageresult = goodsRepository.findAll(spec, pageable);
List<GoodsDTO> dtoList = (new GoodsDTOAssembler()).toDTOList(pageresult.getContent()); return new ListWithTotalCount<GoodsDTO>(dtoList, (int) pageresult.getTotalElements());
}

3.页面展示效果

easyui datagrid 列排序的更多相关文章

  1. easyui datagrid 列隐藏和显示

    easyui datagrid 列隐藏和显示 用js怎么控制列的显示和隐藏?   最佳答案   $('#grid').datagrid('hideColumn','列field');把hideColu ...

  2. js控制easyui datagrid列的显示和隐藏

    easyui datagrid 列隐藏和显示 $('#grid').datagrid('hideColumn','列field'); //把hideColumn换成showColumn 即为显示列

  3. EasyUI - DataGrid 组建 - [ 排序功能 ]

    效果: 红框的字段看,为设置了,列排序,向后台Post数据sort/order. 原理:向后台POST数据,sort/post数据. html代码: <table id="tab&qu ...

  4. Easyui datagrid自定义排序

    做项目遇到个关于排序问题,想着在前端排序,正好Easyui有这个功能,所以就拿来用了一下,因为跟官网的Demo不太一样,所以总结一下: 首先这一列是要排序的列(当然,在生产环境,这一列是隐藏的,在开发 ...

  5. EasyUI DataGrid 添加排序

    这个事例演示了如何在点击列头的时候排序DataGrid中全部的列可以通过点击列头被排序.你可以定义可以被排序的列.默认的,列不能被排序除非你设置sortable属性为TRUE,下面是例子:标记 < ...

  6. easyui datagrid 列拖拽

    首先easyui 它有提供了拖拽的功能Draggable,那我们就可以想 拖拽标题头到另外的标题头上面我们就对datagrid的columns重新绑定一次 并刷新datagrid这个功能不就行了? & ...

  7. 让jquery easyui datagrid列支持绑定嵌套对象

    嵌套对象是指返回的json数据,是对象的某个属性自带有属性.而我们恰恰又需要这个属性,默认情况下easyui的datagrid是不支持绑定嵌套对象的.比如:datagrid的field属性只能为fie ...

  8. easyui datagrid 列的内容超出所定义的列宽时,自动换行

    定义表单  nowrap="false"可以使得列中的内容超出所定义的列宽是就会自动换行pagination : true, // 当true时在DataGrid底部显示一个分页工 ...

  9. easyUI datagrid 列宽自适应(简单 图解)(转)

    响应数据格式: easyUI在html代码中结构: 发现了什么没有,我们的表头其实是一个td在td中有一个属性field那么我们就可以获得了; 以下就是自适应代码: //添加事件 function c ...

随机推荐

  1. Android ART

    这几天在做一个项目时需要在Android中使用OSGi框架(Apache Felix),于是在一个android 4.4.2 版本系统的某品牌的平板上实验.实验内容很简单:把felix包里的felix ...

  2. Android--->activity高级运用,保存前一个界面为完成的数据savedInstanceState。

    main.xml布局代码分析 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  3. [转]Firefox拦截12306订票网站的解决办法

    解决方法:1.找到firefox选项设置(Ubuntu下的ff的选项在[Edit]-[Preferences]中) 2.点击[Advanced]-[Encryption]-[View Certific ...

  4. Python3基础 list(zip()) 将两个列表打包起来

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  5. c# mouseenter mousemove区别?

    onmousedown 当用户用任何鼠标按钮单击对象时触发. onmouseenter 当用户将鼠标指针移动到对象内时触发. onmouseleave 当用户将鼠标指针移出对象边界时触发. onmou ...

  6. PAT (Advanced Level) 1024. Palindromic Number (25)

    手动模拟加法高精度. 注意:如果输入数字的就是回文,这个时候输出0步. #include<iostream> #include<cstring> #include<cma ...

  7. 如何高效的用判断用js判断ie6

    用js判断ie6的方法有很多,如: 1. var isIE=!!window.ActiveXObject; var isIE6=isIE&&!window.XMLHttpRequest ...

  8. Android MulticastSocket IP组播

    MulticastSocket是对等的关系,也就是他们通过IP多点组播保留的地址来相互接收在这个组的Socket发送的消息 我写了一个例子,MultiSocketB是一个service,用于先接收再发 ...

  9. IE去掉input的type=”text”输入内容时出现的X和type=”password”出现的眼睛图标

    从IE 10开始,type=”text” 的 input 在用户输入内容后,会自动产生一个小叉叉(X),方便用户点击清除已经输入的文本.对于type=”password”的 input 则会在右方显示 ...

  10. iOS探究UITableView的内部代码,仿UITableView自定义

    大家都知道UITableView,最经典在于循环利用,这里我自己模仿UITableView循环利用,写了一套自己的TableView实现方案,希望大家看了我的文章,循环利用思想有显著提升. 研究UIT ...