vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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: Stopuhr bei DataGridView 
Autor: Manfred X
Datum: 22.01.14 17:14

Kommt darauf an, ob Du die Zeitmessungen direkt in die Datenbank
eintragen willst (Schlüsselbeziehung "ID" zu "ProjektID" in timetable).

Hier ein untypisiertes Beispiel, soweit ich Dein Anliegen verstanden habe.
Im linken Grid einige Projektsätze, im rechten Grid werden Zeitmessungen
angezeigt, die jeweils über den Button für ein Projekt gestartet und
wieder beendet werden.
Mehrere Zeitmessungen für unterschiedliche Projekte können parallel laufen.
Public Class frmRowTimer
 
    'Daten
    Dim dt As New DataTable
    Dim bs As New BindingSource
    Dim dgv As New DataGridView With _
        {.Parent = Me, .Top = 50, .Width = 200, .DataSource = bs}
 
    'Zeitmessung
    Dim timetable As New DataTable
    Dim bsTime As New BindingSource
    Dim dgvTime As New DataGridView With _
        {.Parent = Me, .Top = 50, .Left = 210, .DataSource = bsTime}
 
 
    Dim WithEvents btnStartStop As New Button With _
        {.Parent = Me, .Text = "Start/Stop"}
 
    Private Sub frmRowTimer_Load(sender As System.Object, _
        e As System.EventArgs) Handles MyBase.Load
 
        dt.Columns.Add("ID", GetType(Integer))
        dt.Columns.Add("Project", GetType(String))
 
        'Testdatensätze
        For i As Integer = 1 To 10
            dt.Rows.Add(i, "Projekt " & Chr(i))
        Next i
        bs.DataSource = dt
 
        With timetable.Columns
            .Add("ID", GetType(Integer))        'Primär-Schlüssel
            .Add("ProjectID", GetType(Integer)) 'Fremdschlüssel Projekt-Tabelle
            .Add("Start", GetType(Date))        'Startzeitpunkt 
            .Add("Ende", GetType(Date))
            .Add("Intervall", GetType(Integer)) 'gemessene Sekunden 
        End With
        bsTime.DataSource = timetable
    End Sub
 
 
 
    Private Function TimeTable_IndexOf(ByVal ProjectID As Integer) As Integer
 
        'Ermittlung des TimeTable-Index einer offenen Zeitmessung zur 
        'gegebenen ProjektID
 
        With timetable
            For i As Integer = 0 To .Rows.Count - 1
                If DirectCast(.Rows(i).Item("ProjectID"), Integer) = _
                    ProjectID AndAlso _
                    IsDBNull(.Rows(i).Item("Ende")) Then
                    Return i
                End If
            Next
        End With
        Return -1
    End Function
 
 
    Private Sub btnStartStop_Click(sender As Object, _
                    e As System.EventArgs) Handles btnStartStop.Click
 
        If bs.Position < 0 Then
            MsgBox("Keine Projektwahl") : Exit Sub
        End If
 
        'Aktuell ausgewähltes Projekt
        Dim row As DataRow = DirectCast(bs(bs.Position), DataRowView).Row
        Dim projectid As Integer = CInt(row.Item("ID"))
        Dim rowindex As Integer = TimeTable_IndexOf(projectid)
 
        With timetable
            If rowindex = -1 Then
                'Keine offene Zeitmessung --> neue Messung starten
                .Rows.Add(.Rows.Count, projectid, Now, DBNull.Value, _
                  DBNull.Value)
            Else
                'vorhandene Zeitmessung abschließen
                .Rows(rowindex)("Ende") = Now
                Dim start As Date = DirectCast(.Rows(rowindex)("Start"), Date)
                Dim ende As Date = DirectCast(.Rows(rowindex)("Ende"), Date)
                .Rows(rowindex)("Intervall") = _
                    New TimeSpan(ende.Ticks - start.Ticks).TotalSeconds
            End If
        End With
        bsTime.ResetBindings(False)
    End Sub
End Class


Beitrag wurde zuletzt am 22.01.14 um 17:33:56 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Stopuhr bei DataGridView2.064stefanbla8022.01.14 14:57
Re: Stopuhr bei DataGridView1.340Manfred X22.01.14 16:00
Re: Stopuhr bei DataGridView1.237stefanbla8022.01.14 16:17
Re: Stopuhr bei DataGridView1.260Manfred X22.01.14 17:14
Re: Stopuhr bei DataGridView1.302Manfred X22.01.14 18:37
Re: Stopuhr bei DataGridView1.230ErfinderDesRades23.01.14 04:52
Re: Stopuhr bei DataGridView1.367Manfred X23.01.14 06:28
Re: Stopuhr bei DataGridView1.340stefanbla8023.01.14 07:35
Re: Stopuhr bei DataGridView1.413Manfred X23.01.14 08:10
Re: Stopuhr bei DataGridView1.207stefanbla8023.01.14 08:34
Re: Stopuhr bei DataGridView1.248Manfred X23.01.14 08:46
Re: Stopuhr bei DataGridView1.356stefanbla8023.01.14 08:59
Re: Stopuhr bei DataGridView1.286Manfred X23.01.14 09:17
Re: Stopuhr bei DataGridView1.273stefanbla8023.01.14 09:33
Re: Stopuhr bei DataGridView1.355Manfred X23.01.14 09:52
Re: Stopuhr bei DataGridView1.285stefanbla8023.01.14 10:14
Re: Stopuhr bei DataGridView1.260Manfred X23.01.14 10:43
Re: Stopuhr bei DataGridView1.405stefanbla8023.01.14 11:52
Re: Stopuhr bei DataGridView1.395Manfred X23.01.14 12:04
Re: Stopuhr bei DataGridView1.325stefanbla8023.01.14 12:10
Re: Stopuhr bei DataGridView1.296Manfred X23.01.14 12:19
Re: Stopuhr bei DataGridView1.267stefanbla8023.01.14 13:10
Re: Stopuhr bei DataGridView1.294Manfred X23.01.14 17:57
Re: Stopuhr bei DataGridView1.402stefanbla8024.01.14 07:02
Re: Stopuhr bei DataGridView1.217Manfred X24.01.14 08:10
Re: Stopuhr bei DataGridView1.274stefanbla8024.01.14 12:13
Re: Stopuhr bei DataGridView1.219stefanbla8024.01.14 12:14
Re: Stopuhr bei DataGridView1.266Manfred X24.01.14 18:12
Re: Stopuhr bei DataGridView1.259stefanbla8027.01.14 06:53
Re: Stopuhr bei DataGridView1.248Manfred X27.01.14 07:09
Re: Stopuhr bei DataGridView1.238stefanbla8027.01.14 07:37
Re: Stopuhr bei DataGridView1.202ErfinderDesRades23.01.14 10:23
Re: Stopuhr bei DataGridView1.249stefanbla8023.01.14 10:25
Re: Stopuhr bei DataGridView1.355ErfinderDesRades23.01.14 10:29
Re: Stopuhr bei DataGridView1.205stefanbla8023.01.14 10:56
Re: Stopuhr bei DataGridView1.503ErfinderDesRades23.01.14 11:29
Re: Stopuhr bei DataGridView1.227Manfred X23.01.14 12:01

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