这几乎是前一个问题的延续。 Problem showing jqgrid with dynamic column binding如何使用动态列绑定为jqgrid添加自定义格式器
我想把一个自定义的格式化为像下面的列。但没有任何反应。请帮忙。
JSP:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
type : "GET",
url : "interFinalTbaAction",
data : "",
dataType : "json",
success : function(result) {
var colD = result.couponStripList, colM = result.colModelList;
jQuery("#InterFinalTBAGrid").jqGrid({
data : colD.rootVar,
datatype : 'local',
gridview : true,
colModel : colM,
loadComplete : function(data) {
},
loadError : function(xhr, status, error) {
alert('grid loading error');
}
});
},
error : function(x, e) {
alert(x.readyState + " " + x.status + " " + e.msg);
}
});
});
</script>
</head>
<body>
<table id="InterFinalTBAGrid">
<tr>
<td />
</tr>
</table>
</body>
</html>
从行动JSON结果:
{
"colModelList": [
{
"formatter": "CouponFormatter",
"index": 0,
"jsonmap": null,
"key": false,
"label": "Coupon",
"name": "coupon",
"resizable": true,
"search": true,
"sortable": false,
"title": true,
"width": 100
},
{
"formatter": "InterFinalPriceFormatter",
"index": 1,
"jsonmap": null,
"key": false,
"label": "03-10-11",
"name": "prceCM",
"resizable": true,
"search": true,
"sortable": false,
"title": true,
"width": 150
},
{
"formatter": "InterFinalPriceFormatter",
"index": 2,
"jsonmap": null,
"key": false,
"label": "04-13-11",
"name": "prceCMPlusOne",
"resizable": true,
"search": true,
"sortable": false,
"title": true,
"width": 150
},
{
"formatter": "InterFinalPriceFormatter",
"index": 3,
"jsonmap": null,
"key": false,
"label": "05-12-11",
"name": "prceCMPlusTwo",
"resizable": true,
"search": true,
"sortable": false,
"title": true,
"width": 150
},
{
"formatter": "InterFinalPriceFormatter",
"index": 4,
"jsonmap": null,
"key": false,
"label": "06-13-11",
"name": "prceCMPlusThree",
"resizable": true,
"search": true,
"sortable": false,
"title": true,
"width": 150
}
],
"couponStripList": {
"rootVar": [
{
"coupon": 5.0,
"prceCM": "103.734375,103.734375",
"prceCMPlusOne": "103.359375,99.03",
"prceCMPlusThree": "102.671875,102.671875",
"prceCMPlusTwo": "103.015625,103.015625"
},
{
"coupon": 5.5,
"prceCM": "105.984375,105.984375",
"prceCMPlusOne": "105.671875,99.2",
"prceCMPlusThree": "105.046875,105.046875",
"prceCMPlusTwo": "105.359375,105.359375"
}
]
},
"deliveredDataTimestamp": "03-02-11 11:52:57",
"requestedTimestamp": null
}
的JavaScript函数用于格式化:
function CouponFormatter(cellValue, opts, rowObject) {
return cellValue + "Testing coupon formatter";
}
function InterFinalPriceFormatter(cellValue, opts, rowObject) {
return cellValue + "Testing price formatter";
}
我了解内联函数部分,但没有得到第一部分。当我循环访问'result.colModelList'时,如何用格式化程序代替?你能举一些伪代码的例子吗? – silpa 2011-03-03 15:47:22
这是什么,var InterFinalPriceFormatter =“函数(cellValue,opts,rowObject){返回cellValue + \”测试价格格式化程序\“;}” – silpa 2011-03-03 15:53:41
@silpa:我更新我的答案。 'var InterFinalPriceFormatter =“函数(cellValue,opts,rowObject){return cellValue + \”Testing price formatter \“;}”;'定义了具有'typeof(InterFinalPriceFormatter)===“string”'的变量'InterFinalPriceFormatter'和'var InterFinalPriceFormatter = function(cellValue,opts,rowObject){return cellValue + \“Testing price formatter \”; };'定义函数和'typeof(InterFinalPriceFormatter)===函数“'” – Oleg 2011-03-03 16:26:33