0

我正在使用 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);
        }
    });
4

1 回答 1

0
i added listgridName.setGroupByMaxRecords(8000);

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

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

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

于 2015-04-21T12:16:53.877 回答