【问题标题】:Extjs grid checkbox field select all issueExtjs 网格复选框字段选择所有问题
【发布时间】:2015-11-27 04:26:01
【问题描述】:

Extjs,我在复选框网格的 gridSelectionModel 中遇到问题。当我尝试使用 grid.gridSelectionModel().selectAll() 选择所有复选框时。对于很少的记录,它可以工作,但是超过 500 条记录会使页面没有响应。我尝试暂停活动。但是以上所有都没有按预期工作。 我使用的是 Extjs 4.2.2 版本

【问题讨论】:

  • 我认为这是 grid.getSelectionModel() 而不是 grid.gridSelectionModel()。它应该工作。告诉我一个想法,你是如何展示这么多记录的?您是否使用了分页或只是在网格中显示所有数据。
  • 我必须一次显示大约 10000 条记录。单击按钮时,我必须选择所有记录。多达 1000 条记录它工作正常,但之后它使页面没有响应

标签: extjs checkbox grid


【解决方案1】:

我已在this fiddle 中复制了您在 4.2.2 中的问题。浏览器窗口冻结了很长一段时间。

该问题已在 5.1.2 和 6.0.1 中修复。

在文档中,我发现 selectAll 有 suppressEvent 标志,效果很好 (selectAll(true))。在使用suppressEvent 之后,您可能希望手动触发一次 selectionchange 事件。

【讨论】:

  • 谢谢它的工作,但性能很差。运行近 8000 条记录需要一些时间。
  • 我有一个超过 10000 条记录的查询输出选择,我想设置复选框模型。我尝试了类似 gridSelectionmode.select(record, true,true);
【解决方案2】:

这对我有用,在我的情况下,我必须为已选择的字段设置启用复选框

// select the records
var selectedModel = grid.getSelectionModel();
selectionModel.suspendChange = true;

for (var i = 1; i < query.getCount() ; ++i)
selectionModel.select(query.getAt(i), true, true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 2016-11-02
    • 2011-01-06
    • 2011-09-19
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多