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

jqGrid中自定义格式,URL格式

当官方自带的showlink用起来不是十分顺手,因此可以考虑自己定义url格式

自定义格式其实很简单,在formatter:处填写函数名

比如formatter:makeURL

那么,可以创建一个makeURL函数。

该函数的签名必须遵循官方的约定,有3个参数。

function makeURL(cellvalue, options, rowObject ){

return urlstring;

}

cellvalue -就是要被格式化的值

options - 一个对象,包含的值是options : { rowId: rid, colModel: cm} rowId就是当前行的rowid,colModel就是jqgrid中定义的值

rowObject - 就是当前行的值。

各个值的赋值举例如下:

如果:colModel: [

{ name: "filename", index: "filename", 550, sorttype: "string", sortable: true,formatter:makeURL},

{ name: "datetime", index: "datetime", 80, sorttype: "string", formatter: "string", sortable: true }

],

function makeURL(cellvalue, options, rowObject ){

alert(cellvalue);

alert(rowObject["test"]);//此处的值为返回的json中对应的值。

alert(options["rowId"]);

alert(options["colModel"]["name"]);//此处返回的就是“filename”

}

有了这一招,返回一些自定义的URL就易如反掌,随便加什么参数都可以很容易的获得,只需要能从rowObject["test"]之类的对象中取到数据即可。

还有一种更加简单直白的方式,就是直接在返回的json中,把要显示的字段直接用处理过的<A>这种格式处理。那样的话,直接在表格里显示的就是已经可以直接使用的链接了。

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

这是我在实际中应用到的

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

colNames:[
'<div align="center">票据类型编码</div>',
'<div align="center">票据类型名称</div>',
'<div align="center">开始票据号</div>',
'<div align="center">截止票据号</div>',
'<div align="center">票据张数</div>',
'<div align="center">状态</div>',
'<div align="center">创建人</div>',
'<div align="center">创建时间</div>',
'<div align="center">id</div>',
'<div align="center">内部单位Id</div>',
'<div align="center">关联总库Id</div>',
],
        colModel:[
{name:'typesId',index:'typesId', width:'50',align:"center",key:true},
            {name:'aliasName',index:'aliasName', width:'50',align:'center',
formatter:function(cellValue,options,rowObject){ /*根据本行数据中的typesId列的值来ajax请求,得到本列的中的值*/
$.ajax({
url:"${staticServer}/ywgl/ywcsgl/pjzlgl/selectBillTypeByTypesId.htm",
type:"POST",
async:false,
datatype:"json",
data:{
typesId : rowObject.typesId //rowObject.typesId是获取typesId列的值
},
success:function(data){
cellValue=data[0].aliasName;
}
});
return cellValue;
}
},
    {name:'startTypeno',index:'startTypeno', width:'50',align:"center"},
{name:'endTypeno',index:'endTypeno', width:'50',align:"center"},
{name:'typeNumber',index:'typeNumber', width:'50',align:"center"},
{name:'status',index:'status', width:'50',align:"center",
formatter:function(cellValue){
if(cellValue==1){
return "未复核";
}else{
return "已复核"; }
}
},
{name:'inputUser',index:'inputUser', width:'50',align:"center",
formatter:function(cellValue){
$.ajax({
url : "${staticServer }/ywgl/zkpzgl/zkfkgl/getInputName.htm",
type : "post",
async:false,
data : {
id : cellValue
},
dataType : "json",
success : function(r){
if(r == null || r == ""){
cellValue = '无';
}else{
cellValue = r[0].user_name;
}
}
});
return cellValue;
}
},
            {name:'inputTime',index:'inputTime', width:'50',align:"center"},
{name:'id',index:'id', width:'50',align:"center",hidden:true},
{name:'unitId',index:'unitId', width:'50',align:"center",hidden:true},
{name:'allId',index:'allId', width:'50',align:"center",hidden:true}
        ],

最新文章

  1. AngularJS指令
  2. 点击按钮回到页面顶部或者某个高度时的问题,JQUERY
  3. mysql explain输出中type的取值说明
  4. C#学习笔记三: C#2.0泛型 可控类型 匿名方法和迭代器
  5. 运用NPOI操作EXCEL
  6. yzoi1777倒水问题的详细解法
  7. Jquery列表中的导航菜单的应用
  8. 【转】传递给Appium服务器以开启相应安卓Automation会话的Capabilities的几点说明
  9. 泛型加委托在EF下的操作例子
  10. Webpack模块加载器
  11. 谈一款MOBA游戏《码神联盟》的服务端架构设计与实现
  12. 快速搞定selenium grid分布式
  13. 201521123050 《Java程序设计》第6周学习总结
  14. Python的自学之路:Python基础(一)
  15. IDL 使用数组
  16. Mysql相关知识点总结(一)
  17. Inception使用详解
  18. ●HDU 4787 GRE Words Revenge
  19. PHP中高级进阶之路
  20. TensorFlow:检查显卡支持哪个版本的CUDA

热门文章

  1. win redis安装
  2. mysql 主从 Last_IO_Errno错误代码说明
  3. 【GitHub】命令行操作
  4. 【Python网络爬虫三】 爬取网页新闻
  5. qt5--文件操作
  6. JavaScript 正则表达式——预定义类,边界,量词,贪婪模式,非贪婪模式,分组,前瞻
  7. 基于官方postgres docker镜像制作自己的镜像
  8. java文件断点续传上传下载解决方案
  9. [JZOJ6244]【NOI2019模拟2019.7.1】Trominoes 【计数】
  10. 【杂题】[CodeForces 1172D] Nauuo and Portals【构造】