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 相关文章推荐
表单JS弹出填写提示效果代码
Apr 16 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
Dec 04 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
Mar 26 Javascript
Node.js+Express配置入门教程详解
May 19 Javascript
AngularJS自定义服务与fliter的混合使用
Nov 24 Javascript
Javascript中构造函数要注意的一些坑
Jan 23 Javascript
JavaScript中的 new 命令
May 22 Javascript
微信小程序版本自动更新的方法
Jun 14 Javascript
javascript开发实现贪吃蛇游戏
Jul 31 Javascript
详解JavaScript 高阶函数
Sep 14 Javascript
JavaScript实现多层颜色选项卡嵌套
Sep 21 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
详解Yii2 之 生成 URL 的方法
2017/06/16 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
jQuery判断div随滚动条滚动到一定位置后停止
2014/04/02 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
教你如何用node连接redis的示例代码
2018/07/12 Javascript
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
vue 清空input标签 中file的值操作
2020/07/21 Javascript
Python中字典映射类型的学习教程
2015/08/20 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
python之pandas用法大全
2018/03/13 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
python中加背景音乐如何操作
2020/07/19 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
意大利时尚奢侈品店:D’Aniello Boutique
2021/01/19 全球购物
《傅雷家书》教学反思
2014/04/20 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
杜甫草堂导游词
2015/02/03 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python