2017-04-13 1 views
0

J'utilise le SpreadsheetView de ControlsFX. Lorsque je sélectionne plusieurs cellules, copiez-les et collez-les dans un bloc plus grand, cela ne fonctionne pas.La copie d'un bloc de données dans SpreadsheetView vers un bloc plus grand ne fonctionne pas

Mon code:

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

Bienvenue dans Stack Overflow! J'ai édité le titre, le texte de la question un peu pour rendre votre question plus précise. J'ai également amélioré un peu le formatage du code. Vous devriez également essayer d'être plus précis sur ce que vous pensez être le problème. Selon vous, quelles parties de votre code font partie du problème? Expliquez un peu ce que votre code est supposé être. – Jens

Répondre

0

Il est pas bien expliqué dans la documentation SpreadsheetView exactement ce qui est pris en charge dans le collage de copie. Je vais modifier cela.

Pour répondre à votre question, si vous copiez une valeur vers plusieurs cellules, la même valeur sera collée partout dans la sélection.

Si vous copiez plusieurs cellules dans une cellule, le bloc entier sera collé à partir de la cellule sélectionnée.

Maintenant, si vous avez une sélection et que vous essayez de la coller dans une autre sélection (votre cas), elle échouera à moins que votre sélection ne soit un multiple de la sélection originale. Sélection d'un 2x3 peut être collé dans une sélection 4x6. Il peut également être collé dans une sélection 2x6. Mais il ne sera pas collé dans une sélection 3x5. Si vous souhaitez un comportement très spécifique lors du collage, vous pouvez remplacer la méthode pasteClipboard (voir https://controlsfx.bitbucket.io/)