使用 3000 多个单元格的列表调用 refreshCells() 会使 vaading 电子表格无响应
Calling refreshCells() with list of 3000+ cells makes vaading spreadsheet non responsive
我正在使用 vaadin 电子表格插件版本 1.1.6。在我的工作簿项目表中,至少有 40 行和 60 列。当用户在工作表之间导航时,我需要更新大约 3000 多个单元格的单元格样式。应用样式后,我需要刷新单元格以查看 UI 中的变化。我正在使用 Spreadsheet.refreshCells() 来刷新单元格。一旦我进行此调用 UI 挂起,我在浏览器中收到一条消息,表明 cache.js 没有响应。我想知道是否有人遇到这个问题并找到了解决方案?
不确定这是否是一个合适的解决方案,但我已经找到了解决此问题的方法。我认为电子表格中的 refreshCells() API 无法处理大量单元格。我使用 Spreadsheet.getSpreadsheetStyleFactory().cellStyleUpdated() 而不是 refreshCells()。在下面找到示例代码
for(int i=0; i< row.getPhysicalNumberOfCells();i++)
{
Cell cell = row.getCell(i);
CellStyle cellStyle = cell.getCellStyle();
/*
Apply Styles here
*/
spreadsheet.getSpreadsheetStyleFactory().cellStyleUpdated(cell, true);
}
我正在使用 vaadin 电子表格插件版本 1.1.6。在我的工作簿项目表中,至少有 40 行和 60 列。当用户在工作表之间导航时,我需要更新大约 3000 多个单元格的单元格样式。应用样式后,我需要刷新单元格以查看 UI 中的变化。我正在使用 Spreadsheet.refreshCells() 来刷新单元格。一旦我进行此调用 UI 挂起,我在浏览器中收到一条消息,表明 cache.js 没有响应。我想知道是否有人遇到这个问题并找到了解决方案?
不确定这是否是一个合适的解决方案,但我已经找到了解决此问题的方法。我认为电子表格中的 refreshCells() API 无法处理大量单元格。我使用 Spreadsheet.getSpreadsheetStyleFactory().cellStyleUpdated() 而不是 refreshCells()。在下面找到示例代码
for(int i=0; i< row.getPhysicalNumberOfCells();i++)
{
Cell cell = row.getCell(i);
CellStyle cellStyle = cell.getCellStyle();
/*
Apply Styles here
*/
spreadsheet.getSpreadsheetStyleFactory().cellStyleUpdated(cell, true);
}