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 相关文章推荐
jquery 图片截取工具jquery.imagecropper.js
Apr 09 Javascript
ajax请求get与post的区别总结
Nov 04 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
Javascript实现div层渐隐效果的方法
May 30 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
获取url中用&隔开的参数实例(分享)
May 28 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
简单的网页广告特效实例
Aug 19 Javascript
Vue波纹按钮组件制作
Apr 30 Javascript
微信小程序3种位置API的使用方法详解
Aug 05 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
克隆一个新项目的快捷方式
2013/04/10 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
ThinkPHP3.1新特性之Action参数绑定
2014/06/19 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
JavaScript计算器网页版实现代码分享
2016/07/15 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
JS和Canvas实现图片的预览压缩和上传功能
2018/03/30 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
2020/05/23 Javascript
Python列表计数及插入实例
2014/12/17 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
运动会通讯稿500字
2014/02/20 职场文书
工程安全员岗位职责
2014/03/09 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
市场督导岗位职责
2015/04/10 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
详解TypeScript的基础类型
2022/02/18 Javascript