【问题标题】:jqGrid Not working sort process not workingjqGrid不工作排序过程不工作
【发布时间】:2016-04-14 23:37:53
【问题描述】:

我正在使用本地数据。 Json 值在 lsm 对象中。

尝试按 rank 和 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"
             });

【问题讨论】:

  • 你已经问过这个问题,但你没有提供更多细节stackoverflow.com/questions/36635756/…
  • 我已经删除了那个帖子。
  • 您能否提供一些测试数据 (lsm),其中至少包含两个项目,可用于重现问题?您使用哪个版本的 jqGrid 以及来自哪个 jqGrid 分支(free jqGrid、商业Guriddo jqGrid JS 或版本
  • 我正在尝试对列进行排序,当我们曾经单击表标题时。表数据是我的系统本地数据。
  • @Oleg:谢谢!我不能购买任何产品。我必须解决这个问题。当我们曾经单击表标题时,我正在尝试对加载有本地系统数据/json 的表上的列进行排序。我也尝试使用 localReader。

标签: javascript jquery jqgrid


【解决方案1】:

首先,您应该修复代码中的明显错误。对象

{
    height: 250,
    height: 300
}

以同样的方式,您永远不应指定相同的选项两次。

您的代码中的另一个重要错误:您多次指定具有相同 name 属性的多个列(查看具有 name: 'rank' 的两列和具有 name: 'storeId' 的两列)。

下一个问题。如果您定义了自定义格式化程序(checkValueSKU_pricing、checkValueFuture_pricing、checkValuePromotions、checkValueOffers、formatLinkMarkDelete),您也应该定义取消格式化程序(参见 unformat 回调 here 的描述)。

关于您使用的选项的简短补充说明:选项loadonce: true 在使用datatype: "local" 的情况下没有意义(它将被忽略)。 colModel 的属性align: 'left' 是默认的,可以跳过。属性index 也可以删除(请参阅index: 'storeId')。定义为函数的sorttype(参见name: 'storeId')与sorttype: "integer" 的作用相同。应该首选预定义的sorttype 属性。

最后的话:如果您报告问题,您应该发布更完整的代码(查看您使用的许多自定义格式化程序)和一些测试数据(至少两个来自 lsm 数组的项目,您将其用作data 参数)。您应该始终写下您使用的 jqGrid 版本以及 jqGrid 的哪个分支(free jqGrid、商业 Guriddo jqGrid JS 或版本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-03
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多