2017-04-13 13 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のドキュメントで説明されていません。私はそれを変更します。

あなたの質問に答えるために、ある値を複数のセルにコピーすると、同じ値が選択範囲のどこにでも貼り付けられます。

複数のセルを1つのセルにコピーすると、選択したセルからブロック全体がペーストされます。

選択肢があり、それを別の選択肢(あなたの場合)に貼り付けようとすると、その選択肢が元の選択肢の倍数でないと失敗します。 選択2x3を4x6選択に貼り付けることができます。また、2x6選択に貼り付けることもできます。しかし、それは3x5選択に貼り付けられません。 貼り付け時に非常に特殊な動作が必要な場合は、pasteClipboardメソッドをオーバーライドすることができます(https://controlsfx.bitbucket.io/を参照)

関連する問題