`

jqGrid中的formatter

 
阅读更多

jqGrid中对列表cell属性格式化设置主要通过colModel中formatter、formatoptions来设置

基本用法:
Js代码  收藏代码
  1. jQuery("#jqGrid_id").jqGrid({  
  2. ...  
  3.    colModel: [   
  4.       ...   
  5.       {name:'price', index:'price',  formatter:'integer', formatoptions:{thousandsSeparator: ','}},  
  6.       ...  
  7.    ]  
  8. ...  
  9. });  
formatter主要是设置格式化类型(integer、email等以及函数来支持自定义类型),formatoptions用来设置对应formatter的参数,jqGrid中预定义了常见的格式及其options:
integer
thousandsSeparator: //千分位分隔符, 
defaulValue
number
decimalSeparator,//小数分隔符,如"."
thousandsSeparator,//千分位分隔符,如","
decimalPlaces,//小数保留位数
defaulValue
currency
decimalSeparator,//小数分隔符,如"."
thousandsSeparator,//千分位分隔符,如","
decimalPlaces,//小数保留位数
defaulValue,
prefix//前缀,如加上"$"
suffix//后缀
date
srcformat,//source的本来格式
newformat//新格式
email
没有参数,会在该cell是email加上: mailto:name@domain.com
showlink
baseLinkUrl,//在当前cell中加入link的url,如"jq/query.action"
showAction, //在baseLinkUrl后加入&action=actionName
addParam, //在baseLinkUrl后加入额外的参数,如"&name=aaaa"
target,
idName    //默认会在baseLinkUrl后加入,如".action?id=1"。改如果设置idName="name",那么".action?name=1"。其中取值为当前rowid
checkbox
disabled    //true/false 默认为true此时的checkbox不能编辑,如当前cell的值是1、0会将1选中
select
设置下拉框,没有参数,需要和colModel里的editoptions配合使用
下面是一个使用的例子:
Java代码  收藏代码
  1. var datas = [  
  2.                   {"id":1,  "name":"name1",  "price":123.1,     "email":"abc@163.com",  "amount":1123423,   "gender":"1""type":"0"},  
  3.                   {"id":2,  "name":"name2",  "price":1452.2,    "email":"abc@163.com",  "amount":12212321,  "gender":"1""type":"1"},  
  4.                   {"id":3,  "name":"name3",  "price":125454,    "email":"abc@163.com",  "amount":2345234,   "gender":"0""type":"0"},  
  5.                   {"id":4,  "name":"name4",  "price":23232.4,   "email":"abc@163.com",  "amount":2345234,   "gender":"1""type":"2"}]  
 
Js代码  收藏代码
  1. colModel:[  
  2.     {name:'id',     index:'id',     formatter:  customFmatter},  
  3.     {name:'name',   index:'name',   formatter: "showlink", formatoptions:{baseLinkUrl:"save.action",idName: "id", addParam:"&name=123"}},  
  4.     {name:'price',  index:'price',  formatter: "currency", formatoptions: {thousandsSeparator:",",decimalSeparator:".", prefix:"$"}},  
  5.     {name:'email',  index:'email',  formatter: "email"},  
  6.     {name:'amount', index:'amount', formatter: "number", formatoptions: {thousandsSeparator:",", defaulValue:"",decimalPlaces:3}},        
  7.     {name:'gender', index:'gender', formatter: "checkbox",formatoptions:{disabled:false}},  
  8.    {name:'type', index:'type', formatter: "select", editoptions:{value:"0:无效;1:正常;2:未知"}}
  9. ],  
其中customFmatter声明如下
Js代码  收藏代码
  1. function customFmatter(cellvalue, options, rowObject){  
  2.     console.log(cellvalue);  
  3.     console.log(options);  
  4.     console.log(rowObject);  
  5.     return "["+cellvalue+"]";  
  6. };  
 在页面显示的效果如下:
 
当然还得支持自定义formatter函数,只需要在formatter:customFmatter设置formatter函数,该函数有三个签名
Js代码  收藏代码
  1. function customFmatter(cellvalue, options, rowObject){  
  2.       
  3. }  
  4. //cellvalue - 当前cell的值  
  5. //options - 该cell的options设置,包括{rowId, colModel,pos,gid}  
  6. //rowObject - 当前cell所在row的值,如{ id=1, name="name1", price=123.1, ...}  
 当然对于自定义formatter,在修改时需要获取原来的值,这里就提供了unformat函数,这里见官网的例子:
Js代码  收藏代码
  1. jQuery("#grid_id").jqGrid({  
  2. ...  
  3.    colModel: [   
  4.       ...   
  5.       {name:'price', index:'price', width:60, align:"center", editable: true, formatter:imageFormat, unformat:imageUnFormat},  
  6.       ...  
  7.    ]  
  8. ...  
  9. });  
  10.    
  11. function imageFormat( cellvalue, options, rowObject ){  
  12.     return '<img src="'+cellvalue+'" />';  
  13. }  
  14. function imageUnFormat( cellvalue, options, cell){  
  15.     return $('img', cell).attr('src');  
  16. }  
  附上官网DOC:
分享到:
评论

相关推荐

    jqgrid中文文档API

    jqgrid中文文档API,使用JQGRID

    JqGrid中文API文档

    JqGrid中文API文档,包含了基础的JqGrid控件的属性方法事件等,有如何使用JqGrid的Demo.

    Jqgrid中文使用手册

    Jqgrid中文使用手册,直接从jqgrid官网翻译。非常适合查阅

    Jqgrid 中文文档

    Jqgrid 中文文档 Jqgrid 属性参数详细解释 Jqgrid 属性大全

    获取jqGrid中选择的行的数据

    var id=$(‘#gridTable').jqGrid(‘getGridParam','selrow'); 如果想要获取选择多行的id,那这些id便封装成一个id数组,那可以使用以下: var ids=$(‘#gridTable').jqGrid(‘getGridParam','selarrrow'); 如果想...

    jqGrid中文文档.doc

    在你开始jqGrid之前,你需要具有基本的JavaScript和jQuery知识。有关jQuery的知识可访问jQuery网站jquery.com。当你已有了这些基础知识后,我们从jqGrid的系统需求开始。

    JqGrid 中文帮助文档 api

    JqGrid 中文 帮助文档 api jQuery

    \jqGrid中文说明文档-选项设置

    网上收藏的 jqGrid中文说明文档——选项设置 挺实用的

    jqGrid4.6.0 jqgrid_demo40

    jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载下来是没法用的,因为里面有些东西是错的,当然我这个demo40还是还有是些不足,比喻说数据库中少表导致...

    jqGrid中文语言js

    jqGrid 中文语言js,grid.locale-cn.js

    关于jqGrid中查询功能

    jqGrid 按多个条件 或单个条件进行查询

    jqGrid 中文API

    使用jQuery的jqGrid插件可以实现非常好的页面展示效果,并且功能很强大。但是官方提供的帮助文档都是英文的,有些看着可能会不太方便。这里给大家提供一个中文的jqGrid帮助文档,希望能对大家有所帮助

    jqGrid属性中文详细说明

    jqGrid属性中文详细说明 jqGrid属性中文详细说明

    jqGrid 4.5.2中文语言包

    支持 jqGrid 4.5.2的中文语言包。 如发现个别语句翻译的不合适,可自行修改,欢迎大家留言交流。 页面引入语句如下: 。。。/jqGrid/i18n/grid.locale-zh.js"&gt;&lt;/script&gt;

    jqGrid中文教程

    jqGrid中文教程 内附php整合例子

    jqGrid4.8.2 jqgrid_demo40

    jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...

    jqGrid_API中文

    jqGrid_API中文

    jqGrid_api中文文档

    jqGrid_api中文文档.其中有一些案例。方便初学者学习。

    jqGrid 离线帮助手册

    jqGrid 最新版 3.7.2 离线帮助手册,方便各位查看 Installing jqGrid Before you begin System Requirements Download jqGrid Change Log How to Install How it Works My First Grid Basic Grid Conventions ...

    jqGrid手册教程一本通

    jqGrid 学习 原理 2 jqGrid 学习之 皮肤 2 jqGrid 学习 2 jQuery 学习之:jqGrid 表格插件 参数配置 4 jqGrid 学习 自定义搜索 14 jqGrid 学习 搜索工具栏 16 jqGrid 学习 搜索 17 jqGrid 学习 自定义格式化类型 19 ...

Global site tag (gtag.js) - Google Analytics