Rubrik: Controls · sev-Controls | VB-Versionen: VB6, VBA | 31.12.15 |
Im sevDataGrid zu einer bestimmten Spalte horizontal scrollen Diese Funktion scrollt den Inhalt des sevDataGrid-Controls horizontal zur gewünschten angegebenen Spalte. | ||
Autor: Dieter Otter | Bewertung: | Views: 5.945 |
www.tools4vb.de | System: Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Müssen sehr viele Spalten im sevDataGrid-Control angezeigt werden und lassen sich diese nicht alle auf einmal darstellen, wird automatisch ein horizontaler Scrollbalken angezeigt. Soll zu einer bestimmten Spalte gescrollt werden, die dann links als erste Spalte angezeigt wird, hilft Ihnen nachfolgender Code weiter.
' Scrollt das sevDataGrid zur angegebenen Spalte Public Sub GridScrollToColumn(ByRef oGrid As Object, ByVal nCol As Long) Dim i As Long Dim nWidth As Long With oGrid ' Spaltenbreiten aufaddieren For i = 1 To nCol - 1 nWidth = nWidth + .Columns(i).Width Next i If nCol > 1 Then ' pro Spalte ggf. Breite der Gitterlinie aufaddieren If .GridLines = GRID_BOTH Or .GridLines = GRID_VLINE Then nWidth = nWidth + .GridLineWidth * (nCol - 1) End If ' pro Spalte jetzt noch den vertikalen Abstand aufaddieren If .CellSpacingH > 0 Then nWidth = nWidth + .CellSpacingH * nCol End If ' horizontalen Scrollbalken auf den Beginn der Spalte positionieren .HScrollPos = nWidth End With End Sub
Aufrufbeispiel:
Die Tabelle im Datagrid hat 24 Spalten, wovon aber nur 6 sichtbar sind. Durch Aufruf von GridScrollToColumn mit dem Paramter nCol = 10 wird erreicht, dass die vorigen Spalten entsprechend nach links rücken bzw.
die Darstellung mit Spalte 10 beginnt und nachfolgende Spalten somit sichtbar sind.
' Gehe zu Spalte 10 GridScrollToColumn Grid1, 10
Weitere Infos zum sevDataGrid-Control unter:
sevDataGrid 3.0