Kein Problem, eine kurze Lösung wäre folgende:
- Code: Select all
rdbContacts.setDataSource(dataSource);
rdbContacts.setName("contacts");
rdbContacts.open();
rdbContacts.getRowDefinition().getColumnView(null).removeColumnNames("STREET", ...);
Es ist nicht nötig, die RowDefinition bzw. die ColumnView wieder zu übergeben:
- Code: Select all
iRowDef.setColumnView(null, cview);
rdbContacts.setRowDefinition(iRowDef);
da immer auf die original Referenzen zugegriffen wird!
Wir versuchen den Source Code Aufwand so gering als möglich zu halten.
AnmerkungErst nachdem das DataBook geöffnet wurde, sind die Meta Daten bekannt und somit bewirkt das removeColumnNames vor dem open() noch nichts!
Dadurch das bereits vor open() auf die ColumnView zugegriffen wird und noch keine Columns bekannt waren, wurde eine "leere" ColumnView verwendet (siehe
Support System). In Folge dessen und eines Problems in der Table (keine Columns) bekamen Sie die Exception (siehe
Support System).
Die Probleme wurden bereits behoben, treten jedoch nicht auf, wenn die ColumnView nach open() verändert wird!