Probleme mit dem MS DataGrid Control 6.0

ruebezahn0

Grünschnabel
Hallo

Ich habe eine Frage bezüglich des MS DataGrid Controls (SP5) das in VB 6.0 vorhanden ist. Ich besitze eine SQL Datenbank und möchte per VB auf sie zugreifen und erstmal nur Daten auslesen. Soweit habe ich es auch geschafft nur ich besitze ein Notebook mit einer maximalen Auflösung von 1024x768. Und die Datebank besitzt viele Spalten, so dass nur ein lässtiges Scrollen des Balkens im DataGrid notwendig ist. Viele Spaltennamen bestehen aber oft aus wenigen zeichen sowie der Inhalt in ihm. Das Problem des DataGrid ist, das jede Spalte die gleiche Spaltenbreite besitzt und dadurch unnötiger Platz verschwendet wird.

Nun meine Frage:

Wie kann ich die Spaltenbreite einzelnen Spalten im DataGrid beeinflussen ? In dem Eigenschaftsfenster gibt es nur eine Einstellung "DefColWidth", aber die ist nur für die gesamte Spaltenbreite im DataGrid zuständig. Ich würde gerne einzelne Spalten beeinflussen können.

Ist das zu realisieren und wenn ja, kann mir jemand einen Tip geben?

Vielen Dank fürs zuhören! :suspekt:
 
Vielen Dank für diese super schnelle Antwort.

Leider t das net. Oder es vielleicht nen Refresh-Befehl den ich aber schon probiert hatte. Hir mein Source Code:

Private Sub Form_Load()

'Maximiere das Fenster
Me.Move 0, 0, Screen.Width, Screen.Height
FormOnTop Me.hWnd, True

nicht_weiter = False

' ADO-Datenbankaktion
On Error Resume Next

' Connection-Objekt erstellen
Set oConn = New ADODB.Connection

'Verbindungsparameter holen
With oConn
.Provider = "SQLOLEDB.1" 'Wichtig. Gibt den Servertyp an
.Properties("Data Source") = "LABOR-9\WINCC"
.Properties("User ID") = "sa"
.Properties("Password") = "sa"
.CursorLocation = adUseClient
.Open
End With


If oConn.Errors.Count > 0 Then
' alle ADO-Fehler des Connection-Objektes durchlaufen
Dim sError As String
For Each oError In oConn.Errors
sError = sError & "Fehler: " & CStr(oError.Number) & " " & oError.Description & vbCrLf & _
"NativeError: " & oError.NativeError & vbCrLf & _
"SQL-Status: " & oError.SQLState & vbCrLf & _
"Quelle: " & oError.Source & vbCrLf & vbCrLf
Next
MsgBox sError
nicht_weiter = True
End If

If nicht_weiter = False Then

Set RSTSchema = New ADODB.Recordset
With RSTSchema
.ActiveConnection = oConn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockBatchOptimistic
.Source = "SELECT * FROM" & " " & "Chargenmischanlage"
.Open
End With

With grdDataGrid
.Columns(1).Width = 1
.Columns(1).Alignment = dbgCenter
End With

Set grdDataGrid.DataSource = RSTSchema ' Daten in Grid

End If

' mbDataChanged = False

End Sub
 
Habs raus.

Der befehl "mbDataChanged = False" war nicht aktiviert. Ich kenne den nicht. War mehr Glückssache. Kannst du mir sagen wozu der sein soll? Aber nochmals vielen Dank für diese schnelle Hilfe. Hat mich deutlich weitergebracht! :)
 
Zurück