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-2024
 
zurück

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

VB.NET - Fortgeschrittene
DatagridviewGrouper: Anwendungsbeispiel 
Autor: Manfred X
Datum: 12.11.17 15:23

Public Class frmDatagridviewGrouper
 
    Dim bs As New BindingSource
    Dim WithEvents dgv As New DataGridView With _
        {.Parent = Me, .Width = 600, .Height = 400, .Top = 40, _
         .DataSource = bs, .AllowUserToAddRows = False}
    Dim dt As New DataTable
 
    Dim gc As New Subro.Controls.DataGridViewGrouperControl _
        With {.Parent = Me}
    Dim WithEvents grp As Subro.Controls.DataGridViewGrouper
 
 
    Private Sub frmDatagridviewGrouper_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(620, 480)
 
        'Test-Spalten in Datatable erstellen
        With dt.Columns
            .Add("Groups")
            .Add("Whatever1") : .Add("Whatever2")
            .Add("Numbers", GetType(Integer))
            .Add("Doubles", GetType(Double))
            .Add("Dates", GetType(DateTime))
        End With
 
        'Test-Daten in Datatable erzeugen
        Dim rndm As New Random
        For i As Integer = 0 To 100
            Dim r As DataRow = dt.NewRow
 
            r("Groups") = "Group_" & rndm.Next(1, 6).ToString
            r("Whatever1") = "WE1 _ " & rndm.Next(10, 20).ToString
 
            If i Mod 3 = 0 Then
                r("Whatever2") = DBNull.Value
            Else
                r("Whatever2") = "WE2 _ " & rndm.Next(100, 120).ToString
            End If
 
            If i Mod 5 = 0 Then
                r("numbers") = DBNull.Value 'Integer.MinValue 'DBNull.Value
            Else
                r("numbers") = rndm.Next(-10, 11)
            End If
 
            If i Mod 4 = 0 Then
                r("doubles") = DBNull.Value
            ElseIf i Mod 7 = 0 Then
                r("Doubles") = Double.NaN
            Else
                r("doubles") = Math.Round(rndm.NextDouble(), 1)
            End If
 
            r("Dates") = _
                New DateTime(CLng((DateTime.MaxValue.Ticks * rndm.NextDouble)))
            If i Mod 7 = 0 Then
                r("Dates") = DBNull.Value
            End If
 
            dt.Rows.Add(r)
        Next i
 
 
        bs.DataSource = dt 'Datenbindung herstellen
 
        'Gruppierung ermöglichen
        grp = New Subro.Controls.DataGridViewGrouper(dgv) 
        gc.Grouper = grp 'Gruppierungs-Control zuordnen 
 
        With (grp)
            .SetGroupOn("Groups") 'Gruppen-Spalte einrichten
 
            'Beispiele/Erläuterungen von Codeproject (Robert Verpalen)
            With .Options
                'to start with all rows collapsed on a (re)load or 
                'when the group is changed you can set the option 
                ' startcollapsed:
                .StartCollapsed = True
 
                'if you don't want the grouped column name 
                'to be repeated in the headers:
                .ShowGroupName = True
 
                'if you don't want the (rowcount) to be shown in the headers:
                .ShowCount = False
 
                .GroupSortOrder = SortOrder.Descending
            End With
 
            'to collapse all loaded rows: 
            '(the difference with setting the option above, 
            'is that after choosing a new grouping (or on a reload), 
            'the new groups would expand.
            .CollapseAll()
        End With
    End Sub
 
 
    Private Sub grp_DisplayGroup(sender As Object, _
        e As Subro.Controls.GroupDisplayEventArgs) Handles grp.DisplayGroup
 
        With e
            If .Selected Then
                .BackColor = Color.Blue
                .ForeColor = Color.White
            Else
                .BackColor = _
                If(.Group.GroupIndex Mod 2 = 0, Color.Orange, Color.LightBlue)
                .ForeColor = Color.Black
            End If
 
            .Font = New Font("Arial", 12, FontStyle.Bold)
 
            .Header = "[" & .Header & "], grp: " & .Group.GroupIndex.ToString
 
            If .DisplayValue.Trim = String.Empty Then _
                .DisplayValue = " <fehlend> "
            If .DisplayValue.Length > 15 Then _
                .DisplayValue = .DisplayValue.Substring(0, 15) & "..."
            .DisplayValue = "value is " & .DisplayValue
 
            .Summary = "contains " + .Group.Count.ToString & " rows"
        End With
    End Sub
 
 
    Private Sub dgv_DataError(sender As Object, _
        e As System.Windows.Forms.DataGridViewDataErrorEventArgs) _
        Handles dgv.DataError
 
        If e.ColumnIndex < 0 Then
            e.Cancel = True : Exit Sub
        End If
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Daten in DGV anzeigen2.442ERBRU11.11.17 20:09
Re: Daten in DGV anzeigen1.707Manfred X11.11.17 20:48
Re: Daten in DGV anzeigen1.582ERBRU11.11.17 21:06
Re: Daten in DGV anzeigen1.585Manfred X11.11.17 23:35
DatagridviewGrouper: Datensätze gruppiert anzeigen1.886Manfred X12.11.17 11:45
Re: Daten in DGV anzeigen1.792ERBRU12.11.17 12:26
Re: Daten in DGV anzeigen1.540Manfred X12.11.17 12:42
Re: Daten in DGV anzeigen1.543ERBRU12.11.17 12:51
Re: Daten in DGV anzeigen1.593Manfred X12.11.17 13:04
Re: Daten in DGV anzeigen1.532ERBRU12.11.17 14:10
DatagridviewGrouper: Anwendungsbeispiel2.404Manfred X12.11.17 15:23
Re: DatagridviewGrouper: Anwendungsbeispiel1.725ERBRU12.11.17 16:29
DatagridviewGrouper umschalten1.674Manfred X12.11.17 17:31
Re: DatagridviewGrouper umschalten1.733ERBRU13.11.17 06:55
DatagridviewGrouper Editable (Demo)1.620Manfred X13.11.17 07:46
Re: DatagridviewGrouper Editable (Demo)1.556ERBRU13.11.17 20:38
Re: DatagridviewGrouper Editable (Demo)1.521Manfred X14.11.17 00:15
Re: DatagridviewGrouper Editable (Demo)1.484ERBRU23.11.17 18:40
Re: DatagridviewGrouper Editable (Demo)1.472Manfred X23.11.17 21:17
Re: DatagridviewGrouper Editable (Demo)1.463ERBRU24.11.17 06:47
Re: DatagridviewGrouper Editable (Demo)1.503Manfred X24.11.17 07:46
Re: DatagridviewGrouper Editable (Demo)1.483ERBRU24.11.17 19:46
Re: DatagridviewGrouper Editable (Demo)1.448ERBRU25.11.17 13:20
Re: DatagridviewGrouper Editable (Demo)1.682Manfred X25.11.17 14:20
Re: DatagridviewGrouper Editable (Demo)1.688ERBRU25.11.17 16:09
Re: Daten in DGV anzeigen1.546ERBRU12.11.17 18:27

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-2024 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