2017-04-13 69 views
0

我正在使用ControlsFX的SpreadsheetView。当我选择多个单元格时,复制它们并将它们粘贴到一个更大的块上不起作用。将SpreadsheetView中的数据块复制到更大的块不起作用

我的代码:

int rowCount = 5; 
int columnCount = 3; 
GridBase grid = new GridBase(rowCount, columnCount); 

ObservableList<ObservableList<SpreadsheetCell>> rows = FXCollections.observableArrayList(); 

for (int row = 0; row < grid.getRowCount(); ++row) { 
    final ObservableList<SpreadsheetCell> list = FXCollections.observableArrayList(); 
    for (int column = 0; column < grid.getColumnCount(); ++column) { 
     list.add(SpreadsheetCellType.STRING.createCell(row, column, 1, 1,"value")); 
    } 
    rows.add(list); 
} 

grid.setRows(rows); 
spreadsheet.setGrid(grid); 
+1

欢迎使用堆栈溢出!我编辑了标题,这个问题的文本有点让你的问题更加精确。我还改进了一些代码的格式。你也应该试着更具体地说明你认为是什么问题。你认为哪部分代码是问题的一部分?解释一下你的代码应该是什么。 – Jens

回答

0

它没有很好的SpreadsheetView文档什么是复制粘贴正好支持解释。我会修改它。

要回答您的问题,如果您将一个值复制到多个单元格,则相同的值将粘贴到选择区域的任何位置。

如果您将多个单元格复制到一个单元格中,则将从所选单元格开始粘贴整个块。

现在,如果您有选择,并尝试将其粘贴到其他选区(您的案例)中,除非您的选择是原始选区的倍数,否则将会失败。 选择2x3可以粘贴在4x6选择。它也可以粘贴到2x6选项中。但它不会粘贴到3x5的选择。 如果在粘贴时需要特定的行为,可以覆盖pasteClipboard方法(请参阅https://controlsfx.bitbucket.io/