jquery easyui dataGrid动态改变排序字段名的方法
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动态改变排序字段名的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
jQuery EasyUI编辑DataGrid用combobox实现多级联动
我在项目中设计课程表的时候需要用到老师和分类之间的多级联动. 首先是一张效果图: 下面是实现的代码: <body> <script type="text/javascript"> $(function(){ var editing ; //判断用户是否处于编辑状态 var flag ; //判断新增和修改方法 $('#set_schedule').datagrid({ idField:'id' , fitColumns: false , url:'schedul
-
jQuery EasyUI学习教程之datagrid点击列表头排序
这个示例展示如何排序datagrid通过点击列表头. 在datagrid的所有columns 可以通过点击列表头排序,你可以定义哪行可以排序,默认的列是不能排序的除非你设置sortable 属性为true 创建an DataGrid <table id="tt" class="easyui-datagrid" style="width:600px;height:250px" url="datagrid8_getdata.php&q
-
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
一篇关于JQueryEasyUI学习之datagrid 添加.修改.删除 学习笔记教程有需要了解的朋友可参考本的笔记,批量删除,双击表单修改.选中行修改,增加行修改,再有就是扩展editor的方法,无需废话,直接上代码,代码中的注释写的很详细 <script type="text/javascript" charst="utf-8">var editFlag = undefined;//设置一个编辑标记 //因为layout框架指向href时,只取htm
-
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
废话不多说了,直接给大家贴代码了. 关键代码如下所示: /// 最近一次使用编辑行 一切正常 ///<summary> ///初始化数据容器 ///</summary> function InitGrid(){ var lastIndex; $("#grid").datagrid({ url:'', loadMsg:'数据加载中,请稍后......', border:false, fitColumns:true, remoteSort:false, onDblC
-
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1.3.4,如果运行后没有效果,自己检查easyui版本 不同版本对appendRow和mergeCells支持不一样,参数不一致什么的. 无法隐藏分页导航容器,可以用chrome开发工具或者firebug查看分页导航容器的样式和原始datagrid table表格的关系. 源代码如下 $(funct
-
jquery easyui dataGrid动态改变排序字段名的方法
jQuery easyui dataGrid 动态改变排序字段名,一般情况下,在使用的时候,我们会点击相应字段进行排序,这里以JAVA为例,后端的实体类字段有可能和数据库的字段不一致: 如:实体类中的属性为userName,前台filed="userName"而数据库的字段为user_name,这个时候如果把userName设置为排序列,然后去进行点击,就会抛出异常,因为dataGrid在排序的时候会以filed="userName"中的字段名为排序字段: 问题:
-
jquery easyui datagrid实现增加,修改,删除方法总结
本文实例讲述了jquery easyui datagrid实现增加,修改,删除的方法.分享给大家供大家参考,具体如下: 页面: <body> <form id="form1" runat="server"> <table id="tt"> </table> </form> </body> 引用的JS: <link rel="stylesheet" t
-
jQuery easyui datagrid动态查询数据实例讲解
该插件组小巧使用方便,以下是一个从前台提交查询条件,从MSSQL返回json数据的一个事例 HTML前端代码 复制代码 代码如下: <?php include_once("auth.php"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel=&qu
-
jQuery Easyui datagrid连续发送两次请求问题
XXXXXX.datagrid({ url: "${pageContext.request.contextPath}/xx/xx/xx, }); 用上述方式动态加载datagrid的数据时,通过net监听,发现调用了两遍XX方法,目前的解决方案是,将url放到datagrid初始化的时候执行. $('#XXXX').datagrid({ fit: true, fitColumns: false, border: false, pagination: false, idField: 'id', s
-
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
1.先给出问题解决后的代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> <% String path = request.getContextPath(); S
-
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
1.实现行的上移.下移. 说明: 1.1 通过datagrid生成的表格有固定的格式,比如,表格div的class名是datagrid-view.比如每一行tr都有id和datagrid-row-index属性等. 1.2 在上移和下移以后,我们将移动以后的两行的id和datagrid-row-index属性也必须互换,这样能保证datagrid-row-index=0的行肯定是页面显示的表格的第一行,=1的是第二行等等.将来保存的时候,就是通过取这个属性值找某一行的数据的. function
-
Jquery easyui 实现动态树
在上篇文章给大家介绍了jquery中EasyUI实现异步树,本文给大家介绍jquery easyui实现动态树. 首先是在jsp页面中引入相关的js文件 在body中加入流程列表,通过后天拼接json数据 具体内容请看下面代码详情吧. 首选在jsp页面中引入相关的js <link rel="stylesheet" type="text/css" href="<%=path %>/css/jquery_easyui/themes/defau
-
jQuery EasyUI datagrid实现本地分页的方法
本文实例讲述了jQuery EasyUI datagrid实现本地分页的方法.分享给大家供大家参考.具体如下: 一般分页都是后台做,前端做无论从哪方面考虑都不合适.但是有的时候还是有这种需求. 这里重点用到了pagination的监听,以及JS数组的slice方法来完成.代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title></title&g
-
浅谈MVC+EF easyui dataGrid 动态加载分页表格
首先上javascript的代码 <script type="text/javascript"> $(function () { LoadGrid(); }) //加载表格!!! function LoadGrid() { $('#roleGrid').datagrid({ width: 900, striped: true, //交替条纹 fitColumns: true, //防止水平滚动 fit: true,//自动补全 iconCls: "icon-sav
随机推荐
- 用js实现放大镜的效果的简单实例
- Android仿微信语音聊天功能
- 详解设计模式中的工厂方法模式在Python程序中的运用
- Go语言对JSON进行编码和解码的方法
- SQL 四种连接-左外连接、右外连接、内连接、全连接详解
- vue.js移动端tab组件的封装实践实例
- 浅谈javascript的call()、apply()、bind()的用法
- bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
- js分解url参数(面向对象-极简主义法应用)
- c字符串,string对象,字符串字面值的区别详解
- 通过学习bootstrop导航条学会修改bootstrop颜色基调
- jQuery DOM节点的遍历方法小结
- innerHTML,outerHTML,innerText,outerText的用法及区别解析
- java实现适用于安卓的文件下载线程类
- asp.net 事件与委托分析
- vue 注册组件的使用详解
- CentOS 6下root密码忘记的解决办法
- 使用JavaScript中的lodash编写双色球效果
- Django框架封装外部函数示例
- Java 8 开发的 Mybatis 注解代码生成工具