vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Die Spalten sollen verschieden groß sein 
Autor: escape0
Datum: 30.12.02 10:12

hi... ich hatte vor ein paar monaten das gleiche problem und hab damals eine klasse geschrieben mit der man sowas lösen kann.

Public Class cls_gui_datagrid
 
    Public dgTableStyle As DataGridTableStyle
    Private iColumns As Integer = 0
 
    Public Sub New(ByVal strMappingName As String)
        dgTableStyle = New DataGridTableStyle()
        dgTableStyle.HeaderForeColor = System.Drawing.SystemColors.ControlText
        dgTableStyle.AlternatingBackColor = _
          System.Drawing.SystemColors.InactiveCaptionText
        dgTableStyle.MappingName = strMappingName
    End Sub
 
    Public Sub addColumn(ByVal strFormat As String, _
                         ByVal strMappingName As String, _
                         ByVal strHeaderText As String, _
                         ByVal iWidth As Integer)
 
        Dim dgTextBoxColumn = New DataGridTextBoxColumn()
        dgTextBoxColumn.Format = strFormat
        dgTextBoxColumn.MappingName = strMappingName
        dgTextBoxColumn.HeaderText = strHeaderText
        dgTextBoxColumn.Width = iWidth
 
        dgTableStyle.GridColumnStyles.Add(dgTextBoxColumn)
        iColumns = iColumns + 1
 
    End Sub
 
    Public Sub redimGrid(ByRef dg As DataGrid, ByVal iColumn As Integer)
        Dim i As Integer
        Dim iWidthGesamt As Integer = 0
        Dim iScrollbarWidth As Integer = 18
        Dim iRowHeaderWidth As Integer = 35
        Dim iWidthRedim As Integer
 
        For i = 0 To iColumns - 1
            If i <> iColumn Then
                iWidthGesamt = iWidthGesamt + _
                  dgTableStyle.GridColumnStyles.Item(i).Width
            End If
        Next
 
        iWidthRedim = dg.Width
        If dg.Width - iWidthGesamt > 0 Then
            iWidthRedim = dg.Width - iWidthGesamt - iScrollbarWidth
        End If
        If dg.RowHeadersVisible Then
            iWidthRedim = iWidthRedim - iRowHeaderWidth
        End If
 
        dgTableStyle.GridColumnStyles.Item(iColumn).Width = iWidthRedim
    End Sub
 
End Class
hier ein beispiel für die verwendung der klasse:

            Dim objStyle As New cls_gui_datagrid("tbl_cu_benutzer")
            objStyle.addColumn("", "ID", "", 0)
            objStyle.addColumn("", "Benutzername", "Benutzername", 150)
            objStyle.addColumn("", "Aufbereitung", "Name", 250)
            objStyle.addColumn("", "GueltigVon", "Gültig Von", 75)
            objStyle.addColumn("", "GueltigBis", "Gültig Bis", 75)
            objStyle.redimGrid(dgBenutzer, 2)
 
            ' Tablestyle dem Datagrid zuweisen
            dgBenutzer.TableStyles.Add(objStyle.dgTableStyle)
new:
erwartet einen parameter für's mapping. einfach einen tabellennamen übergeben

addColumn:
Format: Format in dem die Spalte angezeigt werden soll
Mappingname: spalte, die angezeigt werden soll (muss einem felder der tabelle entsprechen, die mit new übergeben wurde)
Header: Spaltentitel
Width: Breite der Spalte

redimGrid: (ändert die Breite einer Spalte, um das gesamte Grid auszufüllen)
DataGrid: Datagrid, das angepaßt werden soll
Column: Spalte, die für die anpassung herangezogen werden soll

lg, Robert
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datagrid: Größe der Spalten bestimmen222sabine27.12.02 23:03
Re: Datagrid: Größe der Spalten bestimmen985Neelhiks28.12.02 00:33
Die Spalten sollen verschieden groß sein142sabine28.12.02 09:42
Re: Die Spalten sollen verschieden groß sein990escape030.12.02 10:12

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel