vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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 Editable (Demo) 
Autor: Manfred X
Datum: 13.11.17 07:46

Das Control scheint unter bestimmten Bedingungen fehlerhaft zu arbeiten.
Ich empfehle für die Steuerung: 2 Comboboxen und einen Button:

Public Class frmDatagridviewGrouperEditable
 
    Dim WithEvents cboColumns As New ComboBox With _
        {.Parent = Me, .Width = 150, .Enabled = False, _
         .DropDownStyle = ComboBoxStyle.DropDownList}
 
    Dim WithEvents cboOptions As New ComboBox With _
        {.Parent = Me, .Width = 150, .Left = 160, .Enabled = False, _
         .DropDownStyle = ComboBoxStyle.DropDownList}
 
    Dim WithEvents btnGrouper As New Button With _
        {.Parent = Me, .Width = 100, .Left = 320, .Text = "Gruppieren"}
 
 
    Dim WithEvents grp As Subro.Controls.DataGridViewGrouper
 
 
    Dim bs As New BindingSource
 
    Dim dgv As New DataGridView With _
        {.Parent = Me, .Top = 50, .Width = 400, .Height = 300, _
         .DataSource = bs, .ScrollBars = ScrollBars.Both}
 
    Dim dt As New DataTable
 
 
    Private Sub frmDatagridviewGrouperEditable_Load(sender As System.Object, _
                                    e As System.EventArgs) Handles MyBase.Load
 
        Me.Size = New Size(430, 400)
        Me.MinimumSize = Me.Size
 
        CreateData()
 
        bs.DataSource = dt
 
        SetCombos()
 
    End Sub
 
 
    Private Sub SetCombos()
        With cboOptions.Items
            .Add("Expand All")
            .Add("Collapse All")
            .Add("Sort Ascending")
            .Add("Sort Descending")
            .Add("Show Row Count")
            .Add("Show Group Name")
        End With
 
        For i As Integer = 0 To dt.Columns.Count - 1
            cboColumns.Items.Add(dt.Columns(i).ColumnName)
        Next i
        cboColumns.SelectedIndex = 0
    End Sub
 
 
    Private Sub SetOptions()
        With grp
            Select Case cboOptions.SelectedIndex
                Case 0 : .ExpandAll()
                Case 1 : .CollapseAll()
                Case 2 : .GroupSortOrder = SortOrder.Ascending
                Case 3 : .GroupSortOrder = SortOrder.Descending
                Case 4 : .Options.ShowCount = Not .Options.ShowCount
                Case 5 : .Options.ShowGroupName = Not .Options.ShowGroupName
            End Select
        End With
    End Sub
 
 
    Private Sub CreateData()
 
        'Testspalten und -daten
        With dt.Columns
            .Add("Groups")
            .Add("Numbers", GetType(Double))
            .Add("Bools", GetType(Boolean))
        End With
 
        Dim rndm As New Random
        For i As Integer = 0 To 100
            Dim r As DataRow = dt.NewRow
            If i Mod 5 = 0 Then
                r("groups") = DBNull.Value
            Else
                r("Groups") = "g:" & rndm.Next(1, 5).ToString
            End If
            r("Numbers") = Math.Round(rndm.NextDouble, 1)
            r("Bools") = If(rndm.NextDouble > 0.5, True, False)
            dt.Rows.Add(r)
        Next i
 
    End Sub
 
 
    Private Sub btnGrouper_Click(sender As Object, _
        e As System.EventArgs) Handles btnGrouper.Click
 
        If grp IsNot Nothing Then
            grp.Dispose()
            grp = Nothing
            Enabler(False)
            btnGrouper.Text = "Gruppieren"
        Else
            Enabler(True)
            grp = New Subro.Controls.DataGridViewGrouper(dgv)
            grp.SetGroupOn(cboColumns.Text)
            btnGrouper.Text = "Editieren"
            SetOptions()
        End If
    End Sub
 
 
    Private Sub Enabler(ByVal ok As Boolean)
        cboColumns.Enabled = ok
        cboOptions.Enabled = ok
        dgv.AllowUserToAddRows = Not ok
        dgv.AllowUserToDeleteRows = Not ok
        dgv.ReadOnly = ok
    End Sub
 
 
    Private Sub cboColumns_SelectedIndexChanged(sender As Object, _
        e As System.EventArgs) Handles cboColumns.SelectedIndexChanged
 
        If grp IsNot Nothing Then
            grp.SetGroupOn(cboColumns.Text)
        End If
    End Sub
 
 
    Private Sub grp_DisplayGroup(sender As Object, _
        e As Subro.Controls.GroupDisplayEventArgs) Handles grp.DisplayGroup
        If e.DisplayValue = String.Empty Then
            e.DisplayValue = "<fehlend>"
        End If
    End Sub
 
 
    Private Sub cboOptions_SelectedIndexChanged(sender As Object, _
        e As System.EventArgs) Handles cboOptions.SelectedIndexChanged
        SetOptions()
    End Sub
 
End Class


Beitrag wurde zuletzt am 13.11.17 um 07:59:33 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Daten in DGV anzeigen2.455ERBRU11.11.17 20:09
Re: Daten in DGV anzeigen1.717Manfred X11.11.17 20:48
Re: Daten in DGV anzeigen1.594ERBRU11.11.17 21:06
Re: Daten in DGV anzeigen1.597Manfred X11.11.17 23:35
DatagridviewGrouper: Datensätze gruppiert anzeigen1.903Manfred X12.11.17 11:45
Re: Daten in DGV anzeigen1.807ERBRU12.11.17 12:26
Re: Daten in DGV anzeigen1.552Manfred X12.11.17 12:42
Re: Daten in DGV anzeigen1.554ERBRU12.11.17 12:51
Re: Daten in DGV anzeigen1.606Manfred X12.11.17 13:04
Re: Daten in DGV anzeigen1.544ERBRU12.11.17 14:10
DatagridviewGrouper: Anwendungsbeispiel2.427Manfred X12.11.17 15:23
Re: DatagridviewGrouper: Anwendungsbeispiel1.737ERBRU12.11.17 16:29
DatagridviewGrouper umschalten1.685Manfred X12.11.17 17:31
Re: DatagridviewGrouper umschalten1.744ERBRU13.11.17 06:55
DatagridviewGrouper Editable (Demo)1.634Manfred X13.11.17 07:46
Re: DatagridviewGrouper Editable (Demo)1.566ERBRU13.11.17 20:38
Re: DatagridviewGrouper Editable (Demo)1.531Manfred X14.11.17 00:15
Re: DatagridviewGrouper Editable (Demo)1.495ERBRU23.11.17 18:40
Re: DatagridviewGrouper Editable (Demo)1.484Manfred X23.11.17 21:17
Re: DatagridviewGrouper Editable (Demo)1.476ERBRU24.11.17 06:47
Re: DatagridviewGrouper Editable (Demo)1.514Manfred X24.11.17 07:46
Re: DatagridviewGrouper Editable (Demo)1.496ERBRU24.11.17 19:46
Re: DatagridviewGrouper Editable (Demo)1.459ERBRU25.11.17 13:20
Re: DatagridviewGrouper Editable (Demo)1.693Manfred X25.11.17 14:20
Re: DatagridviewGrouper Editable (Demo)1.700ERBRU25.11.17 16:09
Re: Daten in DGV anzeigen1.557ERBRU12.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