我对所有网格数据都有以csv格式导出的方法。如果我的用户在网格中过滤了内容,则只能查看该内容,并且“导出”按钮将继续导出所有网格数据。如何仅导出过滤后的网格数据?
/**
* 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);
}
}
谢谢
最好的问候
答案 0 :(得分:3)
一种替代方法是使用DataCommunicator中的fetchItemsWithRange方法,该方法在排序和过滤后返回项目列表。所以我想这正是您想要的
grid.getDataCommunicator().fetchItemsWithRange(0, grid.getDataCommunicator().getDataProviderSize());