2015-04-21 4 views
0

Я использую SmartGWT, и у меня возникла проблема с группировкой lisgGeid, когда у меня есть большие данные.
но каждая вещь работает хорошо, когда у меня есть небольшие данные
Я дал следующие свойства сетки:Группировка больших данных в ListGrid

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); 
     } 
    }); 
+0

Вы пробовали использовать разбивку на страницы? Это будет полезно для удобства использования и будет быстрее для вашей страницы. Кроме того, если вы хотите загрузить отчет, вы можете выделить его в другой ссылке «Загрузка Xls» и загрузить в нее полные данные. Проблема, с которой вы можете столкнуться, заключается в том, что памяти в браузере недостаточно, чтобы отобразить все записи (возможность). – bgth

ответ

0
i added listgridName.setGroupByMaxRecords(8000); 

Максимальное количество записей, к которым группеПо может быть применен. Если записей больше, группировка не будет доступна через контекстное меню заголовка по умолчанию, и вызовы ListGrid.groupBy будут проигнорированы.

Максимум существует, поскольку группировка ListGrid выполняется в браузере, поэтому требуется загрузка всех записей, соответствующих текущим критериям фильтра, до того, как записи могут быть сгруппированы. Максимальный размер по умолчанию представляет собой количество записей, которые можно безопасно загружать в устаревших браузерах, таких как Internet Explorer 8 (современные браузеры могут обрабатывать гораздо больше), а также является хорошим верхним пределом с точки зрения загрузки данных из базы данных.

Выход за пределы этого ограничения может привести к ошибкам «сценарий, выполняющийся медленно» из старых браузеров (а также при высокой загрузке базы данных). Чтобы создать интерфейс для группировки, который обрабатывает произвольный объем данных, используйте TreeGrid с loadDataOnDemand с кодом группировки на стороне сервера.

Смежные вопросы