【问题标题】:Grouping large data in the ListGrid在 ListGrid 中对大数据进行分组
【发布时间】:2015-04-21 20:16:53
【问题描述】:

我正在使用 SmartGWT,当我有大数据时,我在对 lisgGeid 进行分组时遇到问题。
但是当我有小数据时,一切都很好
我已将以下属性设置为网格:

    sheetAnalysisListGrid = new ListGrid();
    sheetAnalysisListGrid.setWidth("800");
    sheetAnalysisListGrid.setHeight(365); 
    sheetAnalysisListGrid.setShowAllRecords(true);
    sheetAnalysisListGrid.setCanEdit(false);
    sheetAnalysisListGrid.setGroupByField(TahaConstants.TCO_REPORT_PARAMETER_CATEGORY);

    sheetAnalysisListGrid.setShowGroupSummary(true);

    sheetAnalysisListGrid.setShowGroupSummaryInHeader(true);
    sheetAnalysisListGrid.setFields(sheetAnalysisFields);
    sheetAnalysisListGrid.setGroupNodeStyle("listGridGroupNode");
    sheetAnalysisListGrid.setGroupIcon("TahaTCOOverview/group.png");
    sheetAnalysisListGrid.setGroupStartOpen(GroupStartOpen.ALL);


    sheetAnalysisListGrid.addGroupByCompleteHandler(new GroupByCompleteHandler() {
        public void onGroupByComplete(GroupByCompleteEvent event) {
            sheetAnalysisListGrid.setAutoFitWidthApproach(AutoFitWidthApproach.BOTH);
        }
    });

【问题讨论】:

  • 你试过使用分页吗?这对可用性有好处,并且对您的页面来说会更快。此外,如果您想要下载报告,您可以在另一个链接“Xls 下载”中将其分开并在其中加载完整数据。您可能面临的问题是浏览器中的内存不足以显示所有记录(可能)。

标签: javascript gwt smartgwt listgrid


【解决方案1】:
i added listgridName.setGroupByMaxRecords(8000);

groupBy 可以应用的最大记录数。如果有更多记录,则无法通过默认标题上下文菜单进行分组,并且将忽略对 ListGrid.groupBy 的调用。

存在最大值是因为 ListGrid 分组是在浏览器中执行的,因此需要加载与当前过滤条件匹配的所有记录,然后才能对记录进行分组。默认最大值表示可以在 Internet Explorer 8 等旧版浏览器中安全加载的记录数(现代浏览器可以处理更多),从从数据库加载数据的角度来看,这也是一个很好的上限。

超出此限制可能会导致旧版浏览器出现“脚本运行缓慢”错误(以及高数据库负载)。要构建处理任意数据量的分组接口,请使用带有 loadDataOnDemand 的 TreeGrid 和服务器端分组代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-15
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多