vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 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 - Ein- und Umsteiger
Re: DataGridView:FillWeight-Überlauf beim Binden 
Autor: Manfred X
Datum: 09.07.08 16:47

Danke für die Erläuterung.

Hier ein Beispiel für mächtig viele Spalten:
(Das DatagridView-Steuerelement heißt dgv)

 
        'Tabelle erstellen und füllen
        Dim dt As New DataTable
        FillTable(dt)
 
        'Spaltenerstellung beim Binden verbieten  
        dgv.AutoGenerateColumns = False
 
        'Tafel binden 
	dgv.DataSource = dt
 
        'Spalten nachliefern
        Dim col As DataGridViewTextBoxColumn
        For i As Integer = 0 To dt.Columns.Count - 1
            col = New DataGridViewTextBoxColumn
            'Fillweight herabsetzen, um Überlauf zu vermeiden
            col.FillWeight = 2
            'TextBoxColumn mit Tabellenspalte verbinden ....
            col.HeaderText = dt.Columns(i).ColumnName
            col.DataPropertyName = dt.Columns(i).ColumnName
            ' ... und dem DatagridView zuordnen
            dgv.Columns.Add(col)
        Next i
 
 
 
 
   Private Sub FillTable(ByRef dt As System.Data.DataTable)
 
        'viele Spalten, wg. Demo
        Dim spz As Integer = 800
        dt = New DataTable
        dt.Columns.Add("Index", GetType(Integer))
        For sp As Integer = 1 To spz
            dt.Columns.Add("Spalte" + CStr(sp), GetType(Double))
            With dt.Columns("Spalte" + CStr(sp))
                .AllowDBNull = True
            End With
        Next sp
 
        'ein paar Zeilen reichen
        For i As Integer = 0 To 10
            dt.Rows.Add()
            dt.Rows(i).Item(0) = i
            For sp As Integer = 1 To spz
                If Rnd() > 0.1 Then
                    dt.Rows(i).Item(sp) = _
                    CDbl(CInt(2 * Rnd())) * 0.0001
                Else
                    'ein paar Sonderwerte
                    'der Rest wird undefiniert
                    If Rnd() > 0.5 Then
                        dt.Rows(i).Item(sp) = _
                        Double.NaN
                    End If
                End If
            Next sp
        Next i
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView:FillWeight-Überlauf beim Binden5.466Manfred X09.07.08 14:43
Re: DataGridView:FillWeight-Überlauf beim Binden1.794Melkor09.07.08 15:00
Re: DataGridView:FillWeight-Überlauf beim Binden1.831Manfred X09.07.08 15:03
Re: DataGridView:FillWeight-Überlauf beim Binden1.788Melkor09.07.08 15:17
Re: DataGridView:FillWeight-Überlauf beim Binden1.968Manfred X09.07.08 16:47

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