jquery easyui dataGrid动态改变排序字段名的方法


Posted in Javascript onMarch 02, 2017

jQuery easyui dataGrid 动态改变排序字段名,一般情况下,在使用的时候,我们会点击相应字段进行排序,这里以JAVA为例,后端的实体类字段有可能和数据库的字段不一致;

如:实体类中的属性为userName,前台filed="userName"而数据库的字段为user_name,这个时候如果把userName设置为排序列,然后去进行点击,就会抛出异常,因为dataGrid在排序的时候会以filed="userName"中的字段名为排序字段;

问题:

怎么把userName和数据库中的user_name进行做映射

解决方案:

1:在后台服务器端对前台传入的排序字段进行判断,并且手工进行映射为数据库中的字段名;

             优点:安全、数据库字段不会暴露在前台HTML页面中;

             缺点:后台代码中会出现很多的字段映射判断;

2:在前台点击排序字段列的时候做判断,通过JS脚本在前台页面判断进行映射为数据库中的字段名;

             优点:方便,不需要修改服务器端代码

             缺点:不安全,数据库真实字段名会暴露在HTML页面中;            

  注意:如果对安全性要求比较高建议选择第一种;

这里采用第二种方式,实现如下:

/** 
 *在点击排序字段时,改变传入后台的字段 
 *param对应onBeforeLoad事件的参数 
 *map自定义的字段映射Map 
 */ 
onSortColumn=function(param,map){ 
  //取出map中字段的映射关系值 
  var fieldSort=map[param.sort]; 
  if(fieldSort!='' && fieldSort!=undefined){ 
    //设置新的排序字段名,设置完之后,发送请求时一并会发送到服务端 
    param.sort=fieldSort; 
  } 
}

使用方法:

//创建Map 
var map = new Map(); 
//为map添加值;key:对应filed="userName"中的字段名;value:对应数据库的字段 
map['userName']='user_name'; 
 
$('#datagrid').datagrid({ 
  onBeforeLoad:function(param){ 
    onSortColumn(param,map); 
  } 
});

以上所述是小编给大家介绍的jquery easyui dataGrid动态改变排序字段名的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript中的几个运算符
Jun 29 Javascript
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
JS常见问题整理(持续更新)
Aug 06 Javascript
ext前台接收action传过来的json数据示例
Jun 17 Javascript
jQuery弹出层插件Lightbox_me使用指南
Apr 21 Javascript
js限制input标签中只能输入中文
Jun 26 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
Aug 22 Javascript
浅谈jQuery为哪般去掉了浏览器检测
Aug 29 Javascript
js上传图片预览的实现方法
May 09 Javascript
浅谈Angular 观察者模式理解
Nov 01 Javascript
vue中格式化时间过滤器代码实例
Apr 17 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
Jun 03 Javascript
JavaScript正则替换HTML标签功能示例
Mar 02 #Javascript
如何正确理解javascript的模块化
Mar 02 #Javascript
jquery实现左右滑动式轮播图
Mar 02 #Javascript
如何写好你的JavaScript【推荐】
Mar 02 #Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 #Javascript
JS操作input标签属性checkbox全选的实现代码
Mar 02 #Javascript
JavaScript正则获取地址栏中参数的方法
Mar 02 #Javascript
You might like
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
[01:10:24]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第一场 2月28日
2021/03/11 DOTA
Python中的ctime()方法使用教程
2015/05/22 Python
TensorFlow变量管理详解
2018/03/10 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
深入解析Python小白学习【操作列表】
2019/03/23 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
python实现感知机模型的示例
2020/09/30 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
英语专业毕业生自我鉴定
2013/11/09 职场文书
法制宣传标语
2014/06/23 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
校长四风对照检查材料
2014/09/27 职场文书
家装业务员岗位职责
2015/04/03 职场文书
区域销售大会开幕词
2016/03/04 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python