本文来自: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. ibatis与mybatis的区别

    一.最主要的区别就是mybatis简化了编码的过程,不需要去写dao的实现类,直接写一个dao的借口,再写一个xml配置文件,整个mybatis就配置好了,也就是数据库就连接好了,然后再service ...

  2. libcyusb

    https://github.com/hmaarrfk/libcyusb/blob/master/include/cyusb.h

  3. ELK是什么?

    ELK = ElasticSearch + Logstash + Kibana  Elasticsearch:后台分布式存储以及全文检索 Logstash :  日志加工.“搬运工” Kibana : ...

  4. [LeetCode 92] Reverse Linked List II 翻转单链表II

    对于链表的问题,根据以往的经验一般都是要建一个dummy node,连上原链表的头结点,这样的话就算头结点变动了,我们还可以通过dummy->next来获得新链表的头结点.这道题的要求是只通过一 ...

  5. Javascript引擎

    注入了 浏览器对象模型BOM, 文档对象模型DOM

  6. 微信小程序let和var以及const有什么区别

    在JavaScript中有三种声明变量的方式:var.let.const. var:声明全局变量,换句话理解就是,声明在for循环中的变量,跳出for循环同样可以使用. for(var i=0;i&l ...

  7. 从入门到精通,Java学习路线导航(附学习资源)

    原文链接:https://blog.csdn.net/qq_42453117/article/details/100655512 引言 最近也有很多人来向我"请教",他们大都是一些 ...

  8. Git 下拉项目

    1.[VCS]> [Checkout  from  Version  Control] >  [Git] 2.项目Git路径 > [Clone]

  9. Oracle 表锁定

    --锁表查询SQL SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$s ...

  10. T级别视频上传解决方案

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...