我正在使用本地数据。 Json值在lsm对象中。
尝试按等级和storeId排序。两个领域都不起作用。 无法找到它无法正常工作的原因。
我在jqgrid网站中按照给定的方式关注。需要对列升序和降序进行排序。
需要帮助来解决问题。
$("#jqGrid-listofStoresMarked").jqGrid({
datatype: "local",
data: lsm,
height: 250,
colModel: [
{
label: 'Rank #',
name: 'rank',
width: 3,
align: 'left',
sorttype:'integer'
},
{
label: 'Rank Update',
name: 'rank',
width: 5,
formatter: updateRank,
align: 'left'
},
{
label: 'Store Id',
name: 'storeId',
width: 3,
index: 'storeId',
sorttype: function (cell, rowData) {
return (parseInt(rowData.storeId));
}
},
{
label: 'SKU & Pricing',
name: 'SKU_pricing',
width: 4,
formatter: checkValueSKU_pricing,
align: 'left'
},
{
label: 'Future Pricing',
name: 'Future_pricing',
width: 4,
// sorttype:'integer',
formatter: checkValueFuture_pricing,
align: 'left'
},
{
label: 'Promotions',
name: 'Promotions',
width: 4,
formatter: checkValuePromotions,
align: 'left'
},
{
label: 'Offers',
name: 'Offers',
width: 3,
formatter: checkValueOffers,
align: 'left'
},
{
label: 'Full Update Mark Delete',
name: 'storeId',
width: 6,
formatter: formatLinkMarkDelete,
align: 'left'
}
],
viewrecords: true, // show the current page, data rang and total records on the toolbar
height: 300,
rowNum: 8,
loadonce: true,
sortname: 'storeId',
sortorder: "desc",
pager: "#jqGridPager-listofStoresMarked"
});
答案 0 :(得分:0)
首先,您应该修复代码中的明显错误。对象
{
height: 250,
height: 300
}
同样,你不应该两次指定相同的选项。
代码中的另一个重要错误:您使用相同的name
属性多次指定多个列(查看包含name: 'rank'
的两列和包含name: 'storeId'
的两列。)
下一个问题。如果您定义了自定义格式化程序(checkValueSKU_pricing
,checkValueFuture_pricing
,checkValuePromotions
,checkValueOffers
,formatLinkMarkDelete
),那么您也应定义无格式化程序(请参阅unformat
的说明回调here)。
关于您使用的选项的简短附加说明:在使用loadonce: true
的情况下,选项datatype: "local"
毫无意义(将被忽略)。 align: 'left'
的属性colModel
是默认属性,可以跳过。也可以删除属性index
(请参阅index: 'storeId'
)。定义为函数的sorttype
(请参阅name: 'storeId'
)与sorttype: "integer"
的作用相同。应首选预定义的sorttype
属性。
最后评论:如果您报告问题,则应发布更多完整代码(请参阅您使用的许多自定义格式化程序)和一些测试数据(至少两个来自lsm
数组的项目,您将其用作值data
参数)。您应该始终写下您使用的jqGrid版本以及jqGrid(free jqGrid,商业Guriddo jqGrid JS的哪个分支或版本中的旧jqGrid< = 4.7)。我建议你使用当前版本的免费jqGrid(目前版本为4.13.2)。