Rubrik: Controls · sev-Controls | VB-Versionen: VB5, VB6 | 25.07.08 |
Multilines im sevDataGrid Mit diesem Tipp können mehrere Daten aus einem Recordset untereinander in eine Zeile des Grids geschrieben werden. | ||
Autor: Tobias Sturm | Bewertung: | Views: 10.905 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Mit diesem Tipp können mehrere Daten aus einem Recordset untereinander in eine Zeile des Grids geschrieben werden. Dies erhöht die Übersichtlichkeit der einzelnen Datensätze und ist nützlich, wenn viele Daten eines Datensatzes auf einmal angezeigt werden sollen (ansonsten muss der User immer im Grid hin- und her-scrollen, da das Grid zu viele Spalten hat)
Dim sSQL As String Dim rs As New ADODB.Recordset ' Recordset inkl. multilines erstellen sSQL = "SELECT Monteurname + '" & vbCrLf & "' " & _ "+ CONVERT(varchar, Monteurnummer) AS 'Monteurname/Nr', " & _ "Fahrzeugbezeichnung + '" & vbCrLf & "' + Fahrzeugnummer AS 'Fahrzeugname/Nr', " & _ "Meldzeit AS 'Letzte Meldezeit', Position, Auftragsnummer + '" & vbCrLf & "' " & _ "+ Auftragsstatus AS 'Auftragsnummer/Status', GPSstatus AS 'GPS-Status' FROM #Nav_Test" rs.CursorLocation = adUseClient ' Recordset öffnen rs.Open sSQL, oConn, adOpenStatic, adLockOptimistic With sev_Grd .Clear True ' autom. Neuzeichnen ausschalten .LockUpdate True ' Datamode festlegen .DataMode = Mode_Recordset ' Recordset dem sevGrid zuweisen Set .Recordset = rs ' Wichtig! Gewünschte zeilen auf Multiline setzen .Columns(1).MultiLine = True .Columns(2).MultiLine = True .Columns(3).MultiLine = True .Columns(4).MultiLine = True .Columns(5).MultiLine = True ' Splatenbreiten setzen .Columns(1).Width = 1500 .Columns(2).Width = 1500 .Columns(3).Width = 1500 .Columns(4).Width = 4000 .Columns(5).Width = 2000 ' Zeilenhöhe festlegen .RowHeight = 32 .LockUpdate False .Refresh .Columns(1).AdjustWidthToGridSize End With rs.Close Set rs = Nothing