Rubrik: Controls · sev-Controls | VB-Versionen: VB6, VBA | 26.01.16 |
EnsureVisible-Eigenschaft für das sevDataGrid-Control Mit diesem Codeschnipsel lässt sich sehr einfach eine ItemEnsureVisible-Eigenschaft für das sevDataGrid-Control nachrüsten. | ||
Autor: Dieter Otter | Bewertung: | Views: 5.702 |
www.tools4vb.de | System: Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Hin und wieder kann es vorkommen, dass man eine bestimmte Datenzeile in den sichtbaren Bereich des DataGrid-Control bringen möchte, auch wenn eine andere Zeile aktuell markiert ist. Oder aber auch dann, wenn man per Scrollbalken scrollt und auf Wunsch wieder die aktuell selektierte Zeile in den sichtbaren Anzeigenbereich gebracht werden soll.
Das ListView- oder auch TreeView-Control besitzt hierfür eine EnsureVisible-Eigenschaft. Das sevDataGrid-Control besitzt diese Eigenschaft leider nicht. Aber mit nachfolgender Prozedur kann man dies sehr einfach nachrüsten:
' Sicherstellen, dass sich eine bestimmte Zeile im ' sevDataGrid-Control im sichtbaren Anzeigenbereich befindet Public Sub GridItemEnsureVisible(ByRef oGrid As Object, _ Optional ByVal nRow As Long = 0) With oGrid ' Wird keine Zeile angegeben, immer die aktuell ' selektierte Datenzeile verwenden If nRow = 0 Then nRow = .Row If nRow > 0 Then If Not (nRow >= .TopRow And nRow <= .TopRow + .ScreenRows - 1) Then .TopRow = nRow End If End If End With End Sub
Aufrufbeispiel:
' Zeile 25 soll im sichtbaren Bereich angezeigt werden GridItemEnsureVisible Grid1, 25
' Sicherstellen, dass sich die aktuell selektierte ' Datenzeile im sichtbaren Bereich befindet GridItemEnsureVisible Grid1
Weitere Infos zum sevDataGrid-Control unter:
sevDataGrid 3.0