本文来自:http://cnn237111.blog.51cto.com/2359144/782137

  1. jqGrid中自定义格式,URL格式
  2.  
  3. 当官方自带的showlink用起来不是十分顺手,因此可以考虑自己定义url格式
  4.  
  5. 自定义格式其实很简单,在formatter:处填写函数名
  6.  
  7. 比如formatter:makeURL
  8.  
  9. 那么,可以创建一个makeURL函数。
  10.  
  11. 该函数的签名必须遵循官方的约定,有3个参数。
  12.  
  13. function makeURL(cellvalue, options, rowObject ){
  14.  
  15. return urlstring;
  16.  
  17. }
  18.  
  19. cellvalue -就是要被格式化的值
  20.  
  21. options - 一个对象,包含的值是options : { rowId: rid, colModel: cm} rowId就是当前行的rowidcolModel就是jqgrid中定义的值
  22.  
  23. rowObject - 就是当前行的值。
  24.  
  25. 各个值的赋值举例如下:
  26.  
  27. 如果:colModel: [
  28.  
  29. { name: "filename", index: "filename", 550, sorttype: "string", sortable: true,formatter:makeURL},
  30.  
  31. { name: "datetime", index: "datetime", 80, sorttype: "string", formatter: "string", sortable: true }
  32.  
  33. ],
  34.  
  35. function makeURL(cellvalue, options, rowObject ){
  36.  
  37. alert(cellvalue);
  38.  
  39. alert(rowObject["test"]);//此处的值为返回的json中对应的值。
  40.  
  41. alert(options["rowId"]);
  42.  
  43. alert(options["colModel"]["name"]);//此处返回的就是“filename”
  44.  
  45. }
  46.  
  47. 有了这一招,返回一些自定义的URL就易如反掌,随便加什么参数都可以很容易的获得,只需要能从rowObject["test"]之类的对象中取到数据即可。
  48.  
  49. 还有一种更加简单直白的方式,就是直接在返回的json中,把要显示的字段直接用处理过的<A>这种格式处理。那样的话,直接在表格里显示的就是已经可以直接使用的链接了。

------------------------------------------------------------------------------------------------------------------

这是我在实际中应用到的

场景:aliasName列的数据没有在第一次ajax请求返回数据中,需要根据第一次ajax请求返回数据中本行typesId列中的值来再一次调用ajax请求获得aliasName列的值

  1. colNames:[
  2. '<div align="center">票据类型编码</div>',
  3. '<div align="center">票据类型名称</div>',
  4. '<div align="center">开始票据号</div>',
  5. '<div align="center">截止票据号</div>',
  6. '<div align="center">票据张数</div>',
  7. '<div align="center">状态</div>',
  8. '<div align="center">创建人</div>',
  9. '<div align="center">创建时间</div>',
  10. '<div align="center">id</div>',
  11. '<div align="center">内部单位Id</div>',
  12. '<div align="center">关联总库Id</div>',
  13. ],
  14.         colModel:[
  15. {name:'typesId',index:'typesId', width:'50',align:"center",key:true},
  16.             {name:'aliasName',index:'aliasName', width:'50',align:'center',
  17. formatter:function(cellValue,options,rowObject){ /*根据本行数据中的typesId列的值来ajax请求,得到本列的中的值*/
  18. $.ajax({
  19. url:"${staticServer}/ywgl/ywcsgl/pjzlgl/selectBillTypeByTypesId.htm",
  20. type:"POST",
  21. async:false,
  22. datatype:"json",
  23. data:{
  24. typesId : rowObject.typesId //rowObject.typesId是获取typesId列的值
  25. },
  26. success:function(data){
  27. cellValue=data[0].aliasName;
  28. }
  29. });
  30. return cellValue;
  31. }
  32. },
  33.     {name:'startTypeno',index:'startTypeno', width:'50',align:"center"},
  34. {name:'endTypeno',index:'endTypeno', width:'50',align:"center"},
  35. {name:'typeNumber',index:'typeNumber', width:'50',align:"center"},
  36. {name:'status',index:'status', width:'50',align:"center",
  37. formatter:function(cellValue){
  38. if(cellValue==1){
  39. return "未复核";
  40. }else{
  41. return "已复核";
  42.  
  43. }
  44. }
  45. },
  46. {name:'inputUser',index:'inputUser', width:'50',align:"center",
  47. formatter:function(cellValue){
  48. $.ajax({
  49. url : "${staticServer }/ywgl/zkpzgl/zkfkgl/getInputName.htm",
  50. type : "post",
  51. async:false,
  52. data : {
  53. id : cellValue
  54. },
  55. dataType : "json",
  56. success : function(r){
  57. if(r == null || r == ""){
  58. cellValue = '无';
  59. }else{
  60. cellValue = r[0].user_name;
  61. }
  62. }
  63. });
  64. return cellValue;
  65. }
  66. },
  67.             {name:'inputTime',index:'inputTime', width:'50',align:"center"},
  68. {name:'id',index:'id', width:'50',align:"center",hidden:true},
  69. {name:'unitId',index:'unitId', width:'50',align:"center",hidden:true},
  70. {name:'allId',index:'allId', width:'50',align:"center",hidden:true}
  71.         ],

jqGrid细节备注—jqGrid中自定义格式,URL格式的更多相关文章

  1. JSON.net 在实体类中自定义日期的格式

    定义日期格式转换类,其继承 IsoDateTimeConverter,代码如下: public class DateTimeConverter : IsoDateTimeConverter { pub ...

  2. jqgrid 对编辑行填写的内容做格式验证

    有时,我们需要在基于jqgrid表格编辑行的单元格做规范验证.jqgrid提供有支持,通过设置字段的editrules属性来约束格式. 约束方式: 1.内置的约束参数 (required: true, ...

  3. 【转】浏览器中的data类型的Url格式,data:image/png,data:image/jpeg!

    所谓"data"类型的Url格式,是在RFC2397中 提出的,目的对于一些"小"的数据,可以在网页中直接嵌入,而不是从外部文件载入.例如对于img这个Tag, ...

  4. 浏览器中的data类型的Url格式,data:image/png,data:image/jpeg!(源自:http://blog.csdn.net/roadmore/article/details/38498719)

    所谓"data"类型的Url格式,是在RFC2397中 提出的,目的对于一些“小”的数据,可以在网页中直接嵌入,而不是从外部文件载入.例如对于img这个Tag,哪怕这个图片非常非常 ...

  5. Excel 2007中自定义数字格式前要了解的准则

    要在Excel 2007中创建自定义数字格式,首先应了解自定义数字格式的准则,并从选择某一内置数字格式开始.然后,可以更改该格式的任意代码部分,从而创建自己的自定义数字格式. 数字格式最多可包含四个代 ...

  6. 3.自定义返回json格式的数据给前台(自定义Controller类中的Json方法)

    在mvc的项目中,我们前台做一些操作时,后台要返回一些结果给前台,这个时候我们就需要有一个状态来标识到底是什么类型的错误, 例如: 执行删除的时候,如果操作成功(1行受影响),我们需要返回状态为1并输 ...

  7. web form中自定义HttpHandler仿mvc

    web form中自定义HttpHandler仿mvc 前言 在mvc大行其道的今天,仍然有不少公司的项目还是使用web form来实现的(其实mvc也是基于web form的),如果要在项目中引入m ...

  8. AngularJS中自定义有关一个表格的Directive

    本篇体验在AngularJS中自定义一个有关表格的Directive.表格的需求包括: ● 表格结构 <table>    <thead>        <tr>  ...

  9. AngularJS路由系列(2)--刷新、查看路由,路由事件和URL格式,获取路由参数,路由的Resolve

    本系列探寻AngularJS的路由机制,在WebStorm下开发.主要包括: ● 刷新路由● 查看当前路由以及所有路由● 路由触发事件● 获取路由参数 ● 路由的resolve属性● 路由URL格式 ...

随机推荐

  1. 韦东山嵌入式Linux学习笔记01--转载: 板子ping不通PC怎么办

    请参考链接:https://blog.csdn.net/u013490896/article/details/71250060 我的环境: window 10 jz2440 v3 我采用的连接方式如下 ...

  2. Ubuntu Linux 查看、编辑、比较二进制文件

    查看二进制有以下几种方法: 方法一:hexdump apt-get install libdata-hexdumper-perl 安装好之后就可以直接hexdump your_binary_file ...

  3. mysql 5.5.36 通用二进制安装部署

    1.创建mysql用户 # useradd -r mysql 2.解压二进制包到指定目录下 # tar xf mysql-5.5.36-linux2.6-x86_64.tar.gz -C /usr/l ...

  4. zabbix的nginx监控+邮件报警

    nginx监控    下载nginx的监控模板

  5. Vue自行封装常用组件-倒计时

    倒计时组件,比较复杂一点,大神勿调侃,精确到毫秒,因为项目中多次出现倒计时,所以拿出来分享下 使用方法:1.在父组件中引入"uni-countdown" //import uniC ...

  6. 00-A-springmvc分布式项目项目结构

    项目使用IDEA进行开发 一个分布式项目基本需要的模块. 用到的技术spring+springmvc+mybatis+dubbo +mysql+redis 01模块名字:p2p-parent 作为父模 ...

  7. 【vuex状态管理】使用步骤

    https://www.jianshu.com/p/33e5fb3f3a86 https://segmentfault.com/a/1190000015782272 写在前面: 1.创建一个store ...

  8. java8学习之自定义收集器深度剖析与并行流陷阱

    自定义收集器深度剖析: 在上次[http://www.cnblogs.com/webor2006/p/8342427.html]中咱们自定义了一个收集器,这对如何使用收集器Collector是极有帮助 ...

  9. Linux下Discuz!7.2 LAMP环境搭建

    linux下Discuz LAMP环境搭建 1.需要的源代码 httpd-2.2.15.tar.gz          mysql-5.1.44.tar.gz     php-5.3.2.tar.gz ...

  10. php的异步非阻塞swoole模块使用(一)实现简易tcp服务器--服务端

    绑定tcp服务器的地址 $swserver = new swoole_server("127.0.0.1",9501); 设置tcp服务器装机容量(太危言耸听了-其实就是设置属性) ...