简体   繁体   English

如何在vaadin 8中导出“过滤”网格?

[英]How can I export “filtered” grid in vaadin 8?

I have export method to csv format for all grid data. 我有针对所有网格数据的csv格式的导出方法。 If my user filter content in the grid, it is only afected to view, and export button keeps exporting all grid data. 如果我的用户过滤网格中的内容,则仅查看它,并且导出按钮会继续导出所有网格数据。 How can I only export filtered grid data? 我怎样才能导出过滤后的网格数据?

/**
 * generateCSVExportFile
 */ 
public void generateCSVExportFile() {
    try { // Try
        // Actual date
        DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        Date date = new Date();

        // (1) Generate String buffer
        String string2csv = generateCSVBufferString();

        // (2) Generate file downloader file
        fileDownloaderCSV.setFileDownloadResource(createResourceFromString(
                SAMPLE_CSV_FILE + dateFormat.format(date) + CONF_CSV_EXTENSION, string2csv));
        fileDownloaderCSV.extend(generateCSVFileButton);

    } catch (Exception error) { // Catch
        logger.error(error.toString(), error);
    }
}

Thank you 谢谢

best regards 最好的祝福

One alternative for this is to use fetchItemsWithRange method from DataCommunicator, which returns List of items after sorting and filtering. 一种替代方法是使用DataCommunicator中的fetchItemsWithRange方法,该方法在排序和过滤后返回项目列表。 So I assume it is exactly what you want 所以我认为它正是你想要的

grid.getDataCommunicator().fetchItemsWithRange(0, grid.getDataCommunicator().getDataProviderSize()); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM