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实现打开本地文件或文件夹
Mar 09 Javascript
清华大学出版的事半功倍系列 javascript全部源代码
May 04 Javascript
JavaScript Eval 函数使用
Mar 23 Javascript
jQuery setTimeout()函数使用方法
Apr 07 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
详解react-router如何实现按需加载
Jun 15 Javascript
Angular实现响应式表单
Aug 04 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
Nov 02 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
Vue2.0搭建脚手架
Mar 13 Vue.js
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
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
jquery 操作DOM的基本用法分享
2012/04/05 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JavaScript获得表单target属性的方法
2015/04/02 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
详解jQuery简单的表单应用
2016/12/16 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
使用Python实现在Windows下安装Django
2018/10/17 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
公益广告宣传方案
2014/02/28 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
详解Laravel制作API接口
2021/05/31 PHP
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫