Wird in einer tabellenartigen Komponente (tl:TableComponent, tl:GridComponent oder tl:TreeTableComponent) die Selektion programmatisch bspw. über die Partnergruppe gesetzt, dann wird nicht immer sichergestellt, dass die Selektion im Viewport des Nutzers dargestellt wird.
Durch Zufall funktioniert dies zurzeit u. a. in TreeGrid's und TreeTable's, falls die Selektion einen Knoten erhält, der noch nicht expandiert ist und bei Selektion automatisch expandiert wird. Durch die Expansion werden neue Zeilen der Tabelle hinzugefügt und ein entsprechendes "Insert-Event" verschickt. Im tl:TableControl gibt es einen Tabellen-Listener (TableControl#handleTableModelEvent), der bei einem Insert ein requestRepaint ausführt. Dadurch wird das tl:Control neu gezeichnet und der Viewport angepasst.
Es existiert zurzeit noch keine Logik, die inkrementell den Viewport anpasst, falls die Zeilen der Tabelle gleich beiben und sich ausschließlich nur die Selektion geändert hat.
Test
Wechsle in die Sicht Technisches Demo > Komponenten > Tabellen und Bäume. Dort ist für die jeweilige Komponente das Auswahlfeld als Partnergruppe für die darüber befindliche Komponente konfiguriert, die somit ihr Selektion teilen. Indem man in dem Auswahlfeld die Werte ändert kann man prüfen, ob der Viewport korrekt angepasst wird.