vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 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 - Ein- und Umsteiger
Re: Arbeitszeiten im Chart (Auswertungen) 
Autor: Manfred X
Datum: 18.12.18 20:34

Wie oft soll man Dir diesen Kram eigentlich
noch demonstrieren?

Option Infer On
Public Class frmLinqGroup
    Dim dt As New DataTable
 
    Dim cht As New System.Windows.Forms.DataVisualization.Charting.Chart With
    {.Parent = Me, .Size = New Size(400, 400)}
 
 
    Private Sub frmLinqGroup_Load(sender As Object,
                                  e As EventArgs) Handles MyBase.Load
 
        'Testdaten
        dt.Columns.Add("Datum", GetType(Date))
        dt.Columns.Add("Anwesend", GetType(Integer))
 
        Dim basedate As Date = CDate("2.5.2016")
        Dim minutes() As Integer = {320, 410, 490}
        Dim rndm As New Random(12345)
 
        For i As Integer = 0 To 1000
            Dim dtx As Date = basedate.AddDays(i)
            Dim min As Integer = minutes(rndm.Next(0, 3))
            If dtx.DayOfWeek.Equals(DayOfWeek.Saturday) OrElse
               dtx.DayOfWeek.Equals(DayOfWeek.Sunday) Then min = 0
            dt.Rows.Add(dtx, min)
        Next i
 
        'Gruppieren der Anwesenheitstage pro Monat        
        Dim q = From row As DataRow In dt.AsEnumerable
                Let mnt As String = DateAndTime.MonthName(DirectCast(row( _
                  "Datum"), Date).Month)
                Let yr As Integer = DirectCast(row("Datum"), Date).Year
                Let anw As Boolean = DirectCast(row("Anwesend"), Integer) > 0
                Where anw
                Group By yr, mnt Into Group, Count()
 
 
        'optional: Aufbereitung der Abfrage als Tabelle
        Dim dtb As New DataTable
        dtb.Columns.Add("year-mnt", GetType(String))
        dtb.Columns.Add("count", GetType(Integer))
 
        For Each at In q
            With at
                'anonymer Typ in Datatable-Zeile, Jahr-Monat zusammenbauen
                dtb.Rows.Add(.yr.ToString & "-" & .mnt, .Count)
            End With
        Next at
 
        'Einrichtung des Chart
        With cht
            .DataSource = dtb
            .ChartAreas.Add("Base")
            .ChartAreas("Base").AxisX.Interval = 1
 
            .DataSource = dtb
 
            .Series.Add("Anw")
            With .Series("Anw")
                .XValueMember = "year-mnt"
                .YValueMembers = "Count"
                .ChartArea = "Base"
                .ChartType = DataVisualization.Charting.SeriesChartType.Bar
            End With
 
            .Titles.Add("Anwesenheitstage pro Monat")
 
        End With
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Arbeitszeiten im Chart (Auswertungen)1.262ERBRU09.12.18 11:32
Re: Arbeitszeiten im Chart (Auswertungen)480ERBRU16.12.18 10:35
Re: Arbeitszeiten im Chart (Auswertungen)483Manfred X17.12.18 13:48
Re: Arbeitszeiten im Chart (Auswertungen)477ERBRU17.12.18 14:36
Re: Arbeitszeiten im Chart (Auswertungen)546Manfred X17.12.18 21:49
Re: Arbeitszeiten im Chart (Auswertungen)473ERBRU18.12.18 08:50
Re: Arbeitszeiten im Chart (Auswertungen)472Manfred X18.12.18 09:25
Re: Arbeitszeiten im Chart (Auswertungen)468ERBRU18.12.18 13:10
Re: Arbeitszeiten im Chart (Auswertungen)480Manfred X18.12.18 20:34
Re: Arbeitszeiten im Chart (Auswertungen)460ERBRU18.12.18 21:46
Re: Arbeitszeiten im Chart (Auswertungen)604ERBRU14.01.19 20:05
Re: Arbeitszeiten im Chart (Auswertungen)449ERBRU15.01.19 06:42
Re: Arbeitszeiten im Chart (Auswertungen)479ERBRU16.01.19 12:59

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