vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 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
Kleines Beispiel 
Autor: Manfred X
Datum: 15.01.18 13:49

Public Class frmThreadFiller
 
    Dim bs As New BindingSource, dt As New DataTable
 
    Dim WithEvents dgv As New DataGridView With _
        {.Parent = Me, .Size = New Size(300, 300), .DataSource = bs}
 
    Dim WithEvents btn As New Button With _
        {.Parent = Me, .Top = 310, .Width = 150, .Text = "Fill"}
 
 
    Private Sub frmThreadFiller_Load(sender As System.Object, _
                            e As System.EventArgs) Handles MyBase.Load
        Me.Size = New Size(400, 400)
    End Sub
 
 
    Private Sub btn_Click(sender As Object, _
                 e As System.EventArgs) Handles btn.Click
 
        'Füllen vorbereiten
        btn.Enabled = False
        bs.DataSource = Nothing
 
        'Füllen der Table in einem eigenen Thread
        Dim th As New Threading.Thread _
            (New Threading.ThreadStart(AddressOf fill))
        th.Start()
 
    End Sub
 
 
    Public Sub fill()
 
        dt.Rows.Clear()
        dt.Columns.Clear()
        For i As Integer = 0 To 6
            dt.Columns.Add("SP_" & (i + 1).ToString, GetType(String))
        Next i
 
        Dim arr(dt.Columns.Count - 1) As String
 
        For i As Integer = 1 To 1000
            Dim row As DataRow = dt.NewRow
            For c As Integer = 0 To 6
                arr(c) = "Zeile " & i.ToString & "  Spalte " & c.ToString
            Next c
            row.ItemArray = arr
            dt.Rows.Add(row)
        Next i
 
        If Me.InvokeRequired Then
            Me.Invoke(New MethodInvoker(AddressOf Filled))
        Else
            Filled()
        End If
    End Sub
 
 
    Private Sub Filled()
        'Datenbindung nach dem Füllen erstellen
        bs.DataSource = dt
        btn.Enabled = True
    End Sub
 
 
    Private Sub dgv_CellPainting(sender As Object, _
                e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
            Handles dgv.CellPainting
 
        Dim c As Color
        Select e.RowIndex
            Case Is < 100 : c = Color.White
            Case Is < 200 : c = Color.LightGray
            Case Is < 300 : c = Color.Yellow
            Case Else : c = Color.LightBlue
        End Select
        e.CellStyle.BackColor = c
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Zugriff auf DGV funktioniert nicht. ->Multi threading1.316Seek115.01.18 11:28
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading717Manfred X15.01.18 12:32
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading683Seek115.01.18 12:43
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading694Seek115.01.18 12:54
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading686effeff15.01.18 13:48
Kleines Beispiel685Manfred X15.01.18 13:49
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading669sv0001016.01.18 05:21
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading668Seek116.01.18 06:10
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading671Manfred X16.01.18 06:29
Re: Zugriff auf DGV funktioniert nicht. ->Multi threading684Manfred X16.01.18 06:26

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