jqGrid排序的两种实现方式:

原创lnst

实现方案一客户端实现排序:

jqGrid属性 loadonce:true时,所有数据加载在客户端,点击列标题由jqGrid在客户端自动排序,不再从服务器取值。

参考文件:ccMxCxTjCc.js

js设定:

jqGrid的设定:
colModel: [
{
.....
name: ‘zykj‘,
sortable: true,
},
......
}],
......
loadonce:true, //一次加载全部数据到客户端,由客户端进行排序。
sortable: true,
sortname: ‘zykj‘, //设置默认的排序列
sortorder: ‘asc‘,

实现方案二:sql排序

在Model层加入,需要生成setter、getter方法。

// sidx和sord是jqGrid存在的变量,接受列点击之后传过来的值。
/*
* sord代表排序规则(asc、desc)
*/
private String sord;
/**
* sidx代表排序的列名
*/
private String sidx;
/**
* sord代表排序规则(asc、desc)
* @return sord
*/
public String getSord() {
return sord;
}

/*
* 设置 sord代表排序规则(asc、desc)
* @param sord
*/
public void setSord(String sord) {
this.sord = sord == null ? null : sord.trim();
}

/**
* 获取 sidx代表排序的列名
* @return 获取sidx代表排序的列名
*/
public String getSidx() {
return sidx;
}

/**
* 设置 sidx代表排序的列名
* @param sidx
*/
public void setSidx(String sidx) {
this.sidx = sidx == null ? null : sidx.trim();
}

jqGrid:

colModel:
sortable: true,
jqGrid属性:
sortable: true,
sortname: ‘zykj‘, //设置默认的排序列
sortorder: ‘asc‘,
loadonce:false, //一次加载全部数据到客户端,由客户端进行排序。
jqGrid的onSortCol在简单排序时,不需要设定。
//onSortCol: function (index, colindex, sortorder) {
// jqGridTable.setGridParam({
//sortorder排序规则 asc、desc
//colindex列索引 0开始
//index:列name、’zykj’
// }).trigger("reloadGrid");
//},

Mybatis配置文件:

SELECT的xml设定不需要配置statement=”STATEMENT”,sidx、sord的传入使用$符号。不适用#。
<select id="pagesList" parameterType="com.entity.model.ModelDemo" resultMap="BaseResultMap" >
SELECT
T1.SJHS
, T1.ZYKJ
FROM TABLE T1
WHERE 0=0
<if test="sidx != null and sord!=‘‘ and sord != null and sidx != ‘‘">
ORDER BY T1.${sidx} ${sord}
</if>
</select>
时间: 2024-10-07 15:50:46

jqGrid排序的两种实现方式:的相关文章

算法整理(二)---高速排序的两种实现方式:双边扫描和单边扫描

首先简单谈下高速排序的特点,时间复杂度O(nLog n),最差时间复杂度O(n^2),平均时间O(nLog n).由于用到了函数栈,空间复杂度为O(lg n),最差为O(n).是一种不稳定的排序方法.基本思想是分治法,这位大大的http://blog.csdn.net/morewindows/article/details/6684558 讲的很清楚了,分治法+挖坑法,我就不多说了.就是以某个数为參照,使得左边的都小于他,右边的数都大于他.然后对他的左右两个区间採取相同的方法进行递归. 就其总体

List排序的两种简便方式

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ListSort { class Program { static void Main(string[] args) { List<Customer> listCustomer = new List<Customer>(); listCustomer.Add(new Customer { na

冒泡排序及两种优化方式

冒泡排序是最常用的小型数据排序方式,下面是用C语言实现的,及其两种优化方式. 第一种优化方式是设置一个标记位来标记是否发生了交换,如果没有发生交换就提前结束: 第二种优化方式是记录最后放生交换的位置,作为下一趟比较结束的位置. #include <stdio.h> /* * 打印数组 * */ void printArray(int arr[], int n) { int i = 0; for (i = 0; i < n; ++i) { printf("%d ", a

ZZUOJ 1199 大小关系(拓扑排序,两种方法_判断入度和dfs回路判断)

1 /* 2 这道题如果按照度为0的节点来判断的时候,将度为0的节点和其相连的节点(度数并减去1) 3 从图中去掉,如果度为0的节点的个数为0个但是图中的节点没有都去掉的 时候那么说明 4 出现了回路!用这种方法必须将重边去除掉! 5 6 所以推荐用dfs方式进行判断!这种方式还是比较直观的! 7 */ 8 #include<iostream> 9 #include<cstring> 10 #include<cstdio> 11 #include<algorith

多因子排序的一种实现方式

给列表排序的时候偶尔会需要实现多因子排序.例如,有个UI将会显示物品,而这些物品需要按照一定规律排序,规则由以下几个因子决定,因子的重要性由低到高分别是:物品的价格,等级高低,可穿戴等级高低. 这意味着,排序的时候如果两个物品价格相同,则需要考虑等级,而如果等级也相同,则需要考虑穿戴等级. 新手会写使用一堆if来实现,而本席年轻的时候想到了一种更好的实现方式,如下: w0,w1为两个排序物品的权重,将多个因子归纳成两个权重比较,类似于位图,一个因子占一个bit,越重要的因子越靠高位,一个bit就

算法整理(二)---快速排序的两种实现方式:双边扫描和单边扫描

首先简单谈下快速排序的特点,时间复杂度O(nLog n),最差时间复杂度O(n^2),平均时间O(nLog n).因为用到了函数栈,空间复杂度为O(lg n),最差为O(n).是一种不稳定的排序方法.基本思想是分治法,这位大大的http://blog.csdn.net/morewindows/article/details/6684558 讲的非常清楚了,分治法+挖坑法,我就不多说了.就是以某个数为参照,使得左边的都小于他,右边的数都大于他.然后对他的左右两个区间采取同样的方法进行递归. 就其整

冒泡排序的两种实现方式

冒泡排序是算法中比较重要的知识点,也是程序员必备的知识点. 有两种实现方式: 第一种是两层循环的实现方式: 1:双层for循环嵌套: 2.判断条件如果满足,交换两数位置: public static void main(String[] args) { int[] arr = new int[]{3,1,2,5,6}; // 定义数组 int[] arr = {3,1,2,5,6}; // 或者使用这样定义数组的方式 for(int i= 0; i < arr.length; i++){ //第

PlaceHolder的两种实现方式

placeholder属性是HTML5 中为input添加的.在input上提供一个占位符,文字形式展示输入字段预期值的提示信息(hint),该字段会在输入为空时显示. 如 1 <input type="text" name="loginName" placeholder="邮箱/手机号/QQ号"> 目前浏览器的支持情况 浏览器 IE6/7/8/9 IE10+ Firefox Chrome Safari  是否支持 NO YES YE

简易版聊天系统实现 Socket VS NIO两种实现方式

说是简单聊天系统,压根不能算是一个系统,顶多算个雏形.本文重点不在聊天系统设计和实现上,而是通过实现类似效果,展示下NIO 和Socket两种编程方式的差异性.说是Socket与NIO的编程方式,不太严谨,因为NIO的底层也是通过Socket实现的,但又想不出非常好的题目,就这样吧. 主要内容 Socket方式实现简易聊天效果 NIO方式实现简易聊天效果 两种方式的性能对比 前言 预期效果,是客户端之间进行"广播"式聊天,类似于QQ群聊天.希望以后有机会,以此简易版为基础,不断演进,演