EasyUI快速实现表格排序功能:向服务器请求排序 (easyui向服务器请求排序)

EasyUI是一个基于jQuery的开源JavaScript框架,它提供了众多的UI组件,方便实现前端页面的开发。其中,表格组件在前端页面开发中使用非常广泛,经常需要对表格进行排序操作。本文将介绍如何利用EasyUI快速实现表格排序功能,并且在排序时向服务器请求数据。

一、EasyUI表格排序的实现方式

EasyUI提供了两种表格排序方式:客户端排序和服务器端排序。

客户端排序是指前端通过JavaScript对表格进行排序,数据全部由前端处理。这种方式的优点是速度快,实现简单,但缺点是效率低,在大量数据的情况下可能会出现性能问题。

服务器端排序是指将表格排序的请求发送到服务器,由服务器完成排序操作,部分数据返回给前端进行展示。这种方式的优点是可以处理大量数据,排序效率高,但实现较为复杂。

二、向服务器请求排序的实现步骤

1. 设置表格参数

首先需要在表格组件的初始化参数中设置排序相关的参数,包括:

– sortOrder:排序方式(asc或desc);

– sortName:排序字段名;

– remoteSort:是否向服务器请求排序。

示例代码:

“`

$(‘#datagrid’).datagrid({

url: ‘data.php’,

pagination: true,

rownumbers: true,

fitColumns: true,

pageSize: 10,

pageList: [10, 20, 30, 50],

sortOrder: ‘asc’,

sortName: ‘id’,

remoteSort: true,

columns: [[

{field: ‘id’, title: ‘ID’, width:80},

{field: ‘name’, title: ‘Name’, width:100},

{field: ‘price’, title: ‘Price’, width:100},

{field: ‘createTime’, title: ‘Create Time’, width:150}

]]

});

“`

2. 处理排序请求

在服务器端接收到排序请求后,需要根据排序参数对数据进行排序操作。这里以PHP为例,示例代码:

“`

if (isset($_POST[‘sort’]) && $_POST[‘sort’]) {

$sortField = $_POST[‘sort’];

$sortOrder = $_POST[‘order’];

// 根据排序字段和排序方式对数据进行排序

usort($data, function($a, $b) use($sortField, $sortOrder) {

$result = strcmp($a[$sortField], $b[$sortField]);

if ($sortOrder == ‘desc’) {

$result = -$result;

}

return $result;

});

}

“`

在这个代码中,我们首先从POST请求中获取排序的字段和排序方式,然后利用PHP的usort函数,对数据进行排序。最后通过返回排序后的数据,供前端进行展示。

3. 发送排序请求

当用户点击表格上的排序按钮时,需要将排序请求发送到服务器。可以通过监听表格组件的onSortColumn事件来实现。

示例代码:

“`

$(‘#datagrid’).datagrid({

onSortColumn: function(sort, order) {

// 发送排序请求

$.ajax({

url: ‘sort.php’,

method: ‘POST’,

data: {

sort: sort,

order: order

},

success: function(data) {

$(‘#datagrid’).datagrid(‘loadData’, data);

}

});

}

});

“`

在这个代码中,我们监听了表格组件的onSortColumn事件,当事件被触发时,会将排序的参数(sort和order)通过ajax方式发送到服务器。服务器接收到请求后,根据当前表格的状态进行排序操作,并返回排序后的数据。前端通过调用datagrid的loadData方法,将数据进行加载和展示。

在以上三个步骤的基础上,我们就实现了在EasyUI表格中向服务器请求排序的功能。

相关问题拓展阅读:

求教大神,jquery easyui中$(‘#table’).datagrid(‘options’).queryParams是什么意思

$(‘#table’).datagrid(‘options’)

这句话你应该明白吧!就是获得你初始化datagird时的option对象;

如:

var param = {key:3};

$(‘#table’).datagrid({

title : ‘我的dataGrid’,

iconCls : “icon-search”,

width : 700,

height : 450,

nowrap : false,

striped : true,

fit : true,

url : ‘${ctx}/sys/account/user!queryList.action,

queryParams : param,

……(以下省略)

});

而option里陪氏面的所有属性就是这上面初始化设置的属性;

$(‘#table’).datagrid(‘options’).queryParams

这句话就是去取到option对象里面的queryParams属性的值;

如上面的例子,那么queryParams属性值就是param这个对象;

queryParams属性的意思是当请卖乱升求远程数据时中老,发送的额外参数。

额外参数,就是你url请求里面需要添加的参数;

Are you clear?!

意思是获得初始化datagird时的option对象。

获取table这个datagrid href的参数(就是获取向后台发送的晌清参数)。

queryParams属性作用其实url请求添加额外参数;

比:url:${ctx}/sys/user.action?name=‘明’ 想再附加参数age=18;

比url:${ctx}/sys/user.action?name=‘明’&age=18 url利用queryParams属性;

js写

function addParam(){

var param = {age :18};

$(“#tt”).datagrid(“load”, param);

}

重新发送新url请求初始化datagrid新数据;(我写态设置请求参数想直接datagird初始化添加参数直接初始化datagird候添加属性queryParams : {参数名:’参数值’,})

扩展资料:

实例

对一个函数在±2.0范围内随机采样100点:

rand(‘seed’,0)

x = rand(100,1)*4-2; y = rand(100,1)*4-2;

z = x.*exp(-x.^2-y.^2);

x, y, 和 z 均为包含非均宴山前匀采样数据的矢量。定义一个规范的网格,将数据与网格匹配:

ti = -2:.25:2;

= meshgrid(ti,ti);

ZI = griddata(x,y,z,XI,YI);

Plot the gridded data along with the nonuniform data points used to generate it: mesh(XI,YI,ZI), hold

plot3(x,y,z,’o’), hold

参考资料来源:

百度百科唯拆-griddata

easyui向服务器请求排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于easyui向服务器请求排序,EasyUI快速实现表格排序功能:向服务器请求排序,求教大神,jquery easyui中$(‘#table’).datagrid(‘options’).queryParams是什么意思的信息别忘了在本站进行查找喔。


数据运维技术 » EasyUI快速实现表格排序功能:向服务器请求排序 (easyui向服务器请求排序)