Moin Leute
Ich habe eine Tabellenansicht in JavaFX/controlsFX, und möchte darin eine kleine Sub-Tabelle anzeigen. Diese Sub-Tabelle gibt es nicht immer, nur manchmal.
Mein Plan war, einfach eine neue SpreadsheetView in die Zelle zu legen, allerdings zerhaut es mir damit zuverlässig die äußere Tabelle. Die Subtabelle in einen Container legen und den Container in die Zelle stopfen, führt leider ebenfalls zu eine kaputten Tabelle.
Hat jemand eine Idee, wie ich das beigebogen bekomme?
Das ist der Code, der mir den Tag verdirbt (vor allem Zeile 8-12):
In ausführbar und das ganze Drumherum gibt es hier. Wer sich anschauen will wie es eigentlich aussehen soll, kann die Kommentare in den Zeilen 8-12 mal umkehren, in der Originaldatei sind es die Zeilen 272-276, die Datei selbst ist unter ...\jComponent Library Sorcerer\jComponent Library Sorcerer\src\main\java\main\view\CenterviewStamptable.java zu finden.
Hat jemand eine Idee?
Ich habe eine Tabellenansicht in JavaFX/controlsFX, und möchte darin eine kleine Sub-Tabelle anzeigen. Diese Sub-Tabelle gibt es nicht immer, nur manchmal.
Mein Plan war, einfach eine neue SpreadsheetView in die Zelle zu legen, allerdings zerhaut es mir damit zuverlässig die äußere Tabelle. Die Subtabelle in einen Container legen und den Container in die Zelle stopfen, führt leider ebenfalls zu eine kaputten Tabelle.
Hat jemand eine Idee, wie ich das beigebogen bekomme?
Das ist der Code, der mir den Tag verdirbt (vor allem Zeile 8-12):
Java:
private SpreadsheetCell temporaryPropertyDescription(List<StampsetRowheaderModel.StampsetTemporaryPropertyModel> temporaryProperties, int rowcnt) {
SpreadsheetCell cell;
if (temporaryProperties.isEmpty()) {
cell = SpreadsheetCellType.STRING.createCell(rowcnt, 0, 1, 1, mainView.rextResources().getString("3081"));
}
else {
// cell = SpreadsheetCellType.STRING.createCell(rowcnt, 0, 1, 1, "Any Temporary Stuff");
cell = new SpreadsheetCellBase(rowcnt, 0, 1, 1);
Node temporaryPropertiesTable = temporaryPropertyTable(temporaryProperties);
cell.setItem(null);
cell.setGraphic(temporaryPropertiesTable);
}
return cell;
}
private Node temporaryPropertyTable(List<StampsetRowheaderModel.StampsetTemporaryPropertyModel> temporaryProperties) {
int row, col;
ObservableList<ObservableList<SpreadsheetCell>> rows;
SpreadsheetView spreadsheetView = new SpreadsheetView();
//Grid
Grid grid = new GridBase(2, 3);
//Fill lines
rows = FXCollections.observableArrayList();
for (row = 0; row < 2; row++) {
ObservableList<SpreadsheetCell> rowline = FXCollections.observableArrayList();
for (col = 0; col < 3; col++) {
SpreadsheetCell cell;
cell = SpreadsheetCellType.STRING.createCell(row, col, 1, 1, "blah");
rowline.add(cell);
}
rows.add(rowline);
}
grid.setRows(rows);
spreadsheetView.setGrid(grid);
spreadsheetView.setShowColumnHeader(false);
spreadsheetView.setShowRowHeader(false);
ScrollPane pane = new ScrollPane(spreadsheetView);
pane.setVbarPolicy(ScrollPane.ScrollBarPolicy.AS_NEEDED);
pane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
return pane;
}
In ausführbar und das ganze Drumherum gibt es hier. Wer sich anschauen will wie es eigentlich aussehen soll, kann die Kommentare in den Zeilen 8-12 mal umkehren, in der Originaldatei sind es die Zeilen 272-276, die Datei selbst ist unter ...\jComponent Library Sorcerer\jComponent Library Sorcerer\src\main\java\main\view\CenterviewStamptable.java zu finden.
Hat jemand eine Idee?