【问题标题】:jqGrid filteredData is not changed although the data of grid is deletedjqGrid过滤数据没有改变,虽然网格的数据被删除了
【发布时间】:2015-06-02 03:36:11
【问题描述】:

我正在使用filteredData = $(grid).jqGrid('getGridParam', 'lastSelected') 来获取要在 jqGrid 上导出的数据。它工作正常。但是在特殊情况下会出现问题。

示例:我进行了一些过滤以确保我的网格只有一条记录。然后我删除该记录并导出网格。我的期望是显示错误消息,因为网格上没有任何记录。但是网格仍然与上面的单个记录一起导出。 我想这是因为filteredData 在我进行过滤的那一刻被提取,然后才删除数据。所以在我删除记录后导出时,filteredData仍然具有价值。

我正在尝试找到解决此问题的临时解决方案。有什么办法解决吗?

如果您之前遇到过这个问题,请给我任何建议。提前致谢。

【问题讨论】:

    标签: javascript jqgrid


    【解决方案1】:

    您的问题几乎是您自己回答的。我在the answer 中描述的lastSelectedfree jqGridlastSelectedData 参数完全相同,可以根据当前过滤器和排序为您复制本地dataSELECT 结果。副本不会因故修改。如果需要获取修改后的数据,则必须进行相同的修改(删除行)。确切的实现取决于您如何使用删除行。

    【讨论】:

    • 你的意思是我还必须在处理删除我的网格的方法中删除过滤数据的行吗?如果是这样,处理它可能会很复杂。因为我可以在过滤之后和导出之前删除或编辑多行。此外,我不知道如何对filteredData 进行这些修改。你能举个例子吗?非常感谢您花时间回答我的问题。
    • @KhoaNguyenHoangAnh:如果您提供更多信息,我可以回答您的问题以及您使用的是 jqGrid 的哪个分支和 jqGrid 的版本?。了解如何删除网格中的数据很重要?直接调用delRowDatadelGridRow 还是使用navGridinlineNav、@ 987654331@等等?你用multiselect: true吗?
    • 很抱歉回复晚了。我正在使用 jqGrid 4.5.3 版。我的网格不使用multiselect (multiselect: false)。我使用navGrid 删除本地数据上的行并通过ajax 方法将这些行发送到服务器。
    猜你喜欢
    • 2016-07-23
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多