本文来自: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}
        ],

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. PAT Basic 1040 有几个PAT (25 分)

    字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T). 现 ...

  2. Eclipse设置模板codetemplates

    在Window->Preferences->Java->Code Style->Code Templates,点击"Import",导入模板codetemp ...

  3. Django学习系列18:使用迁移创建生产数据库

    Django生成一个很有帮助的错误信息,大意是说没有正确设置数据库. 你可能会有疑惑,为什么在单元测试一切都运行ok,这是因为Django为单元测试创建了专用的测试数据库——这是Django中Test ...

  4. Python——枚举(enum)

  5. jdbc 占位符插入null值 NullPointerException

    如果变量flag 为空 ,那么executeUpdate 后面的参数 bookCollect.getFlag() 就会被executeUpdate()方法忽略掉,程序会报错. String addSq ...

  6. python -- 数据可视化(二)

    python -- 数据可视化 一.Matplotlib 绘图 1.图形对象(图形窗口) mp.figure(窗口名称, figsize=窗口大小, dpi=分辨率, facecolor=颜色) 如果 ...

  7. HDU6739 2019CCPC秦皇岛赛区 I. Invoker

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=6739思路:暴力dp           一个special skill最多有6种排列组合          ...

  8. 微信里关闭窗口 js

    需要在微信中关闭页面窗口,不过window.close()不管用,问过群里才知道微信有自带的方法能关闭窗口,记录一下(这个只针对微信有效哦): WeixinJSBridge.call('closeWi ...

  9. qt5-QWidget坐标系统和大小和展示区域

    #include "win.h" #include <QPushButton> #include <QLabel> #include <QDebug& ...

  10. selenium环境搭建:Error: could not find java.dll 报错问题

    搭建java环境,参照其他的安装步骤,搭建即可. 问题:出现如下报错信息. Error: could not find java.dll Error: Could not find Java SE R ...