Ich habe zwei SWT-Tabellen in eine Group
eingewickelt, die eine ScrolledComposite
Browser-Bildlaufleisten zu verhindern (und stattdessen nur die Tabelle scrollen).Zwei SWT-Tabellen kämpfen um Platz zu greifen
table_sizing_toolInfo = new Table(grpCapacityReport, SWT.BORDER);
table_sizing_toolInfo.setData(RWT.FIXED_COLUMNS, Integer.valueOf(6));
table_sizing_toolInfo.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Beide Tabellen haben GridData
die überschüssige vertikalen Raum greift.
Beim Rendern ohne Daten funktionieren die Tabellen wie erwartet (beide haben Grab Excess, und so teilen sie den Ansichtsraum). Sobald die Daten in die Tabellen eingetragen sind, wird immer noch wie erwartet angezeigt, bis die Tabs gewechselt werden (Neuzeichnen erzwingen).
table_sizing_dgrInfo.setRedraw(false);
table_sizing_toolInfo.setRedraw(false);
table_sizing_dgrInfo.removeAll();
table_sizing_toolInfo.removeAll();
while (table_sizing_dgrInfo.getColumnCount() > 6) {
table_sizing_dgrInfo.getColumns()[6].dispose();
}
while (table_sizing_toolInfo.getColumnCount() > 6) {
table_sizing_toolInfo.getColumns()[6].dispose();
}
renderSizingTableDynamic(scenarioMap.get(combo_sizing_ScenarioID.getText()));
table_sizing_toolInfo.setRedraw(true);
table_sizing_dgrInfo.setRedraw(true);
Die untere Tabelle mehr Daten als die obere Tabelle enthält und als weitere Reihen der unteren Tabelle verschlingt hinzugefügt werden, um den Raum der oberen Tabelle, bis es nur eine einzige Pixle hoch ist.
Ich wollte nicht, dass beide Tabellen die gleiche Höhe haben. Der obere Tisch sollte zum Inhalt passen und der untere Tisch sollte überschüssigen vertikalen Raum einnehmen. In diesem Fall arbeitete ein expandierendes Gitterlayout mit 'dgrInfoGD.minimumHeight = SWT.DEFAULT;' Das Problem hier ist, dass der überschüssige Variablenraum an den Browserfensterraum gebunden ist (Ich habe keine dynamischen Größenanpassungs-Listener-Layouts ... noch). Mit dieser Bedingung im Hinterkopf, obwohl für meine Verwendung der Fensterplatz immer genügend Platz für beide Tabellen haben sollte, ist die 'SashForm' die konsistenteste für UX. – Elysiumplain