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编程起步(第三课)
Feb 27 Javascript
使用JQuery进行跨域请求
Jan 25 Javascript
jquery的ajax()函数传值中文乱码解决方法介绍
Nov 08 Javascript
获取表单控件原始(初始)值的方法
Aug 21 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
Dec 11 Javascript
Jquery实现的一种常用高亮效果示例代码
Jan 28 Javascript
js获取微信版本号的方法
May 12 Javascript
解决vue-cli创建项目的loader问题
Mar 13 Javascript
Vue自定义弹窗指令的实现代码
Aug 13 Javascript
vue实现与安卓、IOS交互的方法
Nov 02 Javascript
用 js 写一个 js 解释器过程详解
Aug 02 Javascript
微信小程序实现吸顶效果
Jan 08 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
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
基于Jquery的简单&简陋Tabs插件代码
2010/02/09 Javascript
JS实现淘宝幻灯片效果的实现方法
2013/03/22 Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
2014/06/05 Javascript
node.js实现端口转发
2016/04/14 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
简化vuex的状态管理方案的方法
2018/06/02 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python脚本实现网卡流量监控
2015/02/14 Python
python 读取excel文件生成sql文件实例详解
2017/05/12 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
python爬虫实现POST request payload形式的请求
2020/04/30 Python
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
芭比波朗加拿大官方网站:Bobbi Brown Cosmetics CA
2020/11/05 全球购物
自我评价优秀范文分享
2013/11/30 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
干部年终考核评语
2015/01/04 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
python 如何用map()函数创建多线程任务
2021/04/07 Python
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
sqlserver连接错误之SQL评估期已过的问题解决
2022/03/23 SQL Server
Go 中的空白标识符下划线
2022/03/25 Golang