2017-04-13 76 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/