首先先来看一下,直接从后台读取数据并展示到前端的列表,后端传回的数据是“按商品ID倒序排列”

前端源代码

    $('#good_tables').datagrid({
nowrap: true,
autoRowHeight: true,
striped: true,
fitColumns: true,
collapsible: true,
url: 'xxx',
border: false,
idField: 'id',
selectOnCheck: true,
singleSelect: true,
width:'100%' ,
resizable:true,
columns: [[
{
field: 'id',
title: '商品ID',
width: 60,
align: 'center',
formatter: function (value) {
return value+"";
}
},
{
field: 'goodsName',
title: '商品名称',
width: 120,
align: 'center',
formatter: function (value) {
return value;
}
},
{
field: 'activity_do',
title: '操作',
width: '15%',
align: 'center',
formatter: function (value, row) {
return'<a href="javascript:delGoods(' + row.id +')" style="color: red">删除</a>';
}
}
]],
pagination: true,
pageSize: 10,
rowNumbers: false
});

修改前的代码

现在,产品们想要在前端随时切换排序方式,想正序,就正序,想倒序就倒序。

当然,我们可以将“排序方式”作为请求参数,向后端再次发送请求,获得相应排序的数据,但是这样太浪费资源了,能在前端解决的问题,就不要拖到后端。

easyUI已经提供了在前端排序的功能,只需要待排序的列上小小的添加几个参数:

修改后的JS代码:

 $('#good_tables').datagrid({
nowrap: true,
autoRowHeight: true,
striped: true,
fitColumns: true,
collapsible: true,
url: 'xxx',
border: false,
idField: 'id',
selectOnCheck: true,
singleSelect: true,
width:'100%' ,
resizable:true,
remoteSort: false, //必填
sortName:'id', //选填,排序字段。不填写的话,在最开始加载表格的时候,“商品ID”后面不会出现向下的箭头
sortOrder:'asc',//选填,不填的话,按照后端传回的数据是排列(本例为desc),填写后则按在前端设置的正序asc排列,
columns: [[
{
field: 'id',
title: '商品ID',
width: 60,
align: 'center',
sortable:true, //必填,不填的换,点击“商品ID”单元格,无法切换排列
formatter: function (value) {
return value;
}
},
{
field: 'goodsName',
title: '商品名称',
width: 120,
align: 'center',
formatter: function (value) {
return value;
}
},
{
field: 'activity_do',
title: '操作',
width: '15%',
align: 'center',
formatter: function (value, row) {
return'<a href="javascript:delGoods(' + row.id +')" style="color: red">删除</a>';
}
}
]],
pagination: true,
pageSize: 10,
rowNumbers: false
});

修改后的代码

效果:

加载列表后:

点击向上的箭头:

最后再来看看在切换排序的时候是不是向后台发送了请求吧~

进入开发者模式,点击Network,点击“XHR”清空现在已有的数据

可以看到,现在并没有任何请求记录在册了,接下来就请各位小伙伴随意切换排序吧,若列表仍为空,则说明没有向后端再次发送数据请求。

以上就是小编介绍的如何使用easyUI在前端对数据进行排列,觉得有用的朋友记得点个赞!

easyUI 之datagrid 在前端自定义排序的更多相关文章

  1. Easyui datagrid自定义排序

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

  2. EasyUI 数据网格 - 设置排序并自定义排序

    数据网格(DataGrid)的所有列可以通过点击列表头来排序.您可以定义哪列可以排序.默认的,列是不能排序的,除非您设置 sortable 属性为 true. 当排序时,数据网格(DataGrid)将 ...

  3. 雷林鹏分享:jQuery EasyUI 数据网格 - 自定义排序

    jQuery EasyUI 数据网格 - 自定义排序 如果默认的排序行为不满足您的需求,您可以自定义数据网格(datagrid)的排序行为. 最基础的,用户可以在列上定义一个排序函数,函数名是 sor ...

  4. 第二百二十二节,jQuery EasyUI,DataGrid(数据表格)组件

    jQuery EasyUI,DataGrid(数据表格)组件 学习要点: 1.加载方式 2.分页功能 本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于 Pa ...

  5. 利用Aspose.Cells完成easyUI中DataGrid数据的Excel导出功能

    我准备在项目中实现该功能之前,google发现大部分代码都是利用一般处理程序HttpHandler实现的服务器端数据的Excel导出,但是这样存在的问题是ashx读取的数据一般都是数据库中视图的数据, ...

  6. SSh结合Easyui实现Datagrid的分页显示

    近日学习Easyui,发现非常好用,界面很美观.将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加.修改.删除.批量删除等功能将在后面的博客一一写来. ...

  7. schemaeasyui实例:SSh结合Easyui实现Datagrid的分页显示

    查了好多资料,发现还是不全,干脆自己整理吧,最少保证在我的做法正确的,以免误导读者,也是给自己做个记载吧! 克日学习Easyui,发现非常好用,界面很雅观.将学习的心得在此写下,这篇博客写SSh结合E ...

  8. 实例:SSH结合Easyui实现Datagrid的批量删除功能

    在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状 ...

  9. 实例:SSH结合Easyui实现Datagrid的新增功能和Validatebox的验证功能

    在我前面一篇分页的基础上,新增了添加功能和添加过程中的Ajax与Validate的验证功能.其他的功能在后面的博客写来,如果对您有帮助,敬请关注. 先看一下实现的效果: (1)点击添加学生信息按键后跳 ...

随机推荐

  1. JSP | 基础 | 连接数据库

    package util; import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.*; ...

  2. VLAN-6-VLAN Trunk协议(VTP)

    VTP能够将VLAN配置信息通告给邻居交换机,这样做可以使工程师只在一台交换机上配置VLAN,同一个VTP域中的所有其他交换机动态学习这些VLAN信息.VTP通告VLAN ID.VLAN 名称和 VL ...

  3. STP-1-802.1D生成树协议及改进

    第一个 IEEE 标准化的STP也常称为“ 传统”STP,最初在802. 1D中进行了描述. 之后得到了改进,发布在所谓的修正案中:快速 STP( RSTP),在修正案802. 1w 中描述了它的标准 ...

  4. AKOJ-1695-找素数

    题意: 给定区间L,R. 计算区间中素数个数. 2 <= L,R <= 2147483647, R-L <= 1000000. 思路: 素数区间筛 先筛(2-sqrt(r)). 再用 ...

  5. UVA10305:Ordering Tasks(拓扑排序)

    John has n tasks to do. Unfortunately, the tasks are not independent and the execution of one task i ...

  6. Bear and Tower of Cubes Codeforces - 680D

    https://codeforces.com/contest/680/problem/D 一道2D,又是搞两个小时才搞出来...不过好在搞出来了 官方题解:可以证明对于m,设a是满足a^3<=m ...

  7. 修复在unix系统里的文件打开不能显示正常的颜色问题

    在mac上面看到mysql的配置文件的颜色永远是白色,为了让配置文件的颜色更加分明些,这个时候只需进入到home目录下新建一个.vimrc文件, vim  .vimrc set nu syntax o ...

  8. JDBC事务之例子篇

    上一篇随笔记了一些有关JDBC事务管理的理论知识.这篇来看例子(主要怕一篇随笔装所有东西太长了然后分开呵呵) 一般讲事务管理的,都是拿转钱来当例子的,嗯没错我们这也是. 这个是数据库中的t_accou ...

  9. [已读]JavaScript DOM高级程序设计

    08年出版,但是不得不说内容很好,正如书名,重点是DOM部分,看的还蛮早的,这本,记得是13年.

  10. 遍历list集合的三种方式

    List<String> list1 = new ArrayList<String>(); list1.add("1"); list1.add(" ...