需要为jqGrid设置数字格式化程序

时间:2018-03-14 12:25:10

标签: jquery jqgrid

我想将数字格式化程序设置为colModel,我以对象的形式传递一个值,例如需要设置最多2个小数点的数字格式化程序。我已经添加了参考文档的格式化程序,但无法在colmodel属性上设置

function drawGrid() {
                $("#grid").jqGrid("GridUnload");
                var grid = $("#grid"),lastSel;
                jQuery("#grid").jqGrid({
                    formatter : {
                    number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'}},
                    sortable: true,
                    datatype: "local",
                    data: $scope.jqGridData,
                    colNames: $scope.jqgridColHeader, 
                    colModel: $scope.colModelValue,
                    viewrecords: true,
                    caption: "Peer Analysis",
                    rowNum:10,
                    rowList:[10,20,30],
                    recordpos: 'left',
                    footerrow : true,
                    userDataOnFooter : true,
                    restoreAfterSelect: false,
                    saveAfterSelect: true,
                    altRows : true,
                    multiselect: true,
                    cellEdit:   true,
                    autowidth:true,
                    treeGrid: true,
                    grouping: true,
                    shrinkToFit: true,
                    pager: '#pager',
                    gridview: true,
                    'cellEdit': true,
                    'cellsubmit' : 'clientArray',
                    editurl: 'clientArray',

示例代码如下:

output.txt

1 个答案:

答案 0 :(得分:0)

您在文档中阅读了语言部分中的设置。为了设置格式化程序选项,您应该使用formatoptions属性在colModel中执行此操作,而不是像您一样在网格选项中执行此操作。在您的情况下,您应该修改colModel字段,如下所示:

jQuery("#grid").jqGrid({
...
   colModel : [
   ...
      {name:'myname', ... formatter:'number', formatoptions:{decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'} } ,
   ...
   ],
...
});

请注意,属性格式化程序:'number'应为小写