G
Gast2
Gast
Hallo,
ich hätte mal ein paar fragen zum TableViewer!!!
1. ich habe so versucht meine TabelleColumns die größe in prozent mit zu geben... Am Anfang klappt das aber wenn man die View größer zieht und die Tabelle auch größer wird... dann werden die Spalten nicht größer. Wie kann man sowas machen?
2. Was ist der Unteschied wenn ich dem table viewer einen label provider setze
oder der TableViewerColumn CellLabelProvider. Welche Variante ist besser?
3. Wie kann ich kann ich Zahlen usw. rechts darstellen lassen?
ich hätte mal ein paar fragen zum TableViewer!!!
1. ich habe so versucht meine TabelleColumns die größe in prozent mit zu geben... Am Anfang klappt das aber wenn man die View größer zieht und die Tabelle auch größer wird... dann werden die Spalten nicht größer. Wie kann man sowas machen?
Java:
Composite tableComposite = new Composite(parent, SWT.NONE);
TableColumnLayout tableColumnLayout = new TableColumnLayout();
tableComposite.setLayout(tableColumnLayout);
TableViewer tableViewer = new TableViewer(tableComposite, SWT.BORDER
| SWT.FULL_SELECTION | SWT.MULTI);
TableViewerColumn viewerNameColumn = new TableViewerColumn(tableViewer,
SWT.NONE);
viewerNameColumn.getColumn().setText("Id");
tableColumnLayout.setColumnData(viewerNameColumn.getColumn(), new ColumnPixelData(30));
2. Was ist der Unteschied wenn ich dem table viewer einen label provider setze
Java:
public class KundenLabelProvider extends LabelProvider implements
ITableLabelProvider {
@Override
public Image getColumnImage(Object element, int columnIndex) {
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
Kunde person = (Kunde) element;
switch (columnIndex) {
case 0:
return person.getId();
case 1:
return person.getName();
case 2:
return String.valueOf(person.getT());
default:
throw new RuntimeException("Should not happen");
}
}
oder der TableViewerColumn CellLabelProvider. Welche Variante ist besser?
Java:
TableViewerColumn viewerNameColumn = new TableViewerColumn(tableViewer,
SWT.NONE);
// LabelProvider für jede Spalte setzen
viewerNameColumn.setLabelProvider(new CellLabelProvider() {
public void update(ViewerCell cell) {
System.out.println("hier");
cell.setText(((Kunde) cell.getElement()).getId());
}
});
3. Wie kann ich kann ich Zahlen usw. rechts darstellen lassen?