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. ibatis中resultClass与resultMap 的区别

    ibatis的resultClass与resultMap还是有很大的区别.以下是我碰到的一个问题. 配置文件写法如下: 1 sqlMap2 typeAlias alias="notice&q ...

  2. DIV撑开

    引用自:http://radzhang.iteye.com/blog/1678734 在CSS排版中,如果一个层中的层使用了float浮动的话,那么就有可能会出现外层没有被内层撑开的情况,如以下代码所 ...

  3. Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom

    Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom 文中的 Random即:java.util.Random,ThreadLocalRandom 即: ...

  4. docker 容器日志集中 ELK + filebeat

    docker 容器日志集中 ELK ELK 基于 ovr 网络下 docker-compose.yaml version: '2' networks: network-test: external: ...

  5. Java去除字符串中的空格

    特别注意了 Strim或者Trip都是只能去除头部和尾部的空字符串.中间的部分是不能够去除的! 推荐使用ApacheCommonse的StringUtils.deleteWhitespace(&quo ...

  6. uwsgi性能调忧

    摘要:调大uwsgi配置中 listen=1024的数目是提高并发能力最有效的办法.第二种方法是调大processes数目 发现总是超时报警 1  使用ab确定网络具体征况 [bre@dmp-1 ~] ...

  7. unity3d热更新解决方案,使用ulua插件开发的框架。

    ulua插件下载地址 www.ulua.org,下面要说的是ulua的开发框架. 首先是 LuaLoader 类,它负责把一个 lua 的 table 加载起来,使此 lua 的 table 像一个 ...

  8. CentOS 6.4 利用 Awstats 7.2 分析 Nginx 日志

    一.配置Nginx 日志分割 (略) 二.配置FCGI 1.安装CPAN wget http://search.cpan.org/CPAN/authors/id/A/AN/ANDK/CPAN-2.00 ...

  9. C++异常(exception)第三篇-------如何释放资源(没有finally语句)

    问题: C++中没有finally,那么应该在哪里关闭资源? C++的try{}catch(){},为什么没有finally{}块来释放资源? 如类中的一个方法,局部变量 File * file=NU ...

  10. RPC(Remote Procedure Call Protocol)——远程过程调用协议

    RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在 ...