Backgroundworker arbeitet nicht zu Ende

  • VB.NET
  • .NET (FX) 4.0

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Xyolyp.

    Backgroundworker arbeitet nicht zu Ende

    Hey,
    hat jemand eine Idee warum mein Backgroundworker mitten beim Arbeiten einfach ohne Fehler aufhört zu arbeiten und nichts mehr macht, sich aber auch nicht wieder starten lässt?
    Bitte kommt mir nicht mit "Das ist an der und der Stelle unsauber gemacht." Das weiß ich, aber es soll nur funktionieren.
    CheckForIllegalCrossThreadCalls = False Wird beim Laden der Form ausgeführt und wenn die Form.Shown auslöst wird der Backgroundworker gestartet.

    Edit, hatte einen Zahlendreher

    VB.NET-Quellcode

    1. Private Sub AutoCompleteBackgroundWorker_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles AutoCompleteBackgroundWorker.DoWork
    2. Using cn As New MySqlConnection("server=xxx;" & "user id=xxx;" & "password=xxx;" & "database=xxx")
    3. cn.Open()
    4. Dim da As New MySqlDataAdapter("SELECT * from user", cn)
    5. Dim da2 As New MySqlDataAdapter("SELECT * from fahrzeuge", cn)
    6. Dim da3 As New MySqlDataAdapter("SELECT * from wachen", cn)
    7. 'DataTable
    8. Dim dt As New DataTable
    9. Dim dt2 As New DataTable
    10. Dim dt3 As New DataTable
    11. 'llenar el DataTable
    12. da.Fill(dt)
    13. da2.Fill(dt2)
    14. da3.Fill(dt3)
    15. 'enlazar el DataTable al BindingSource
    16. DataGridView1.DataSource = dt2
    17. DataGridView2.DataSource = dt3
    18. DataGridView3.DataSource = dt
    19. With DataGridView2
    20. .MultiSelect = True
    21. .SelectionMode = DataGridViewSelectionMode.FullRowSelect
    22. .AutoSizeColumnsMode = DataGridViewAutoSizeColumnMode.Fill
    23. .DataSource = DataGridView2.DataSource
    24. .Columns(0).HeaderText = "ID"
    25. .Columns(1).HeaderText = "Name"
    26. .Columns(2).HeaderText = "Organisation"
    27. .Columns(3).HeaderText = "Ort"
    28. .Columns(4).Visible = False
    29. .Columns(5).HeaderText = "Geld"
    30. .Sort(DataGridView3.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
    31. .Refresh()
    32. .AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells)
    33. .AutoResizeColumn(1, DataGridViewAutoSizeColumnMode.AllCells)
    34. .AutoResizeColumn(2, DataGridViewAutoSizeColumnMode.AllCells)
    35. .AutoResizeColumn(3, DataGridViewAutoSizeColumnMode.AllCells)
    36. .AutoResizeColumn(4, DataGridViewAutoSizeColumnMode.AllCells)
    37. .AutoResizeColumn(5, DataGridViewAutoSizeColumnMode.AllCells)
    38. .Refresh()
    39. End With
    40. '----------------------------------Hier hört er auf zu arbeiten und macht einfach nichts mehr
    41. With DataGridView3
    42. .MultiSelect = True
    43. .SelectionMode = DataGridViewSelectionMode.FullRowSelect
    44. .AutoSizeColumnsMode = DataGridViewAutoSizeColumnMode.Fill
    45. .DataSource = DataGridView3.DataSource
    46. .Columns(0).HeaderText = "ID"
    47. .Columns(1).HeaderText = "Username"
    48. .Columns(2).Visible = False
    49. .Columns(3).HeaderText = "Mail"
    50. .Columns(4).HeaderText = "Wache"
    51. .Columns(5).HeaderText = "Rechte"
    52. .Columns(6).Visible = False
    53. .Columns(7).HeaderText = "aktiviert"
    54. .Columns(8).HeaderText = "gebannt"
    55. .Sort(DataGridView3.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
    56. .Refresh()
    57. .AutoResizeColumn(0, DataGridViewAutoSizeColumnMode.AllCells)
    58. .AutoResizeColumn(1, DataGridViewAutoSizeColumnMode.AllCells)
    59. .AutoResizeColumn(2, DataGridViewAutoSizeColumnMode.AllCells)
    60. .AutoResizeColumn(3, DataGridViewAutoSizeColumnMode.AllCells)
    61. .AutoResizeColumn(4, DataGridViewAutoSizeColumnMode.AllCells)
    62. .AutoResizeColumn(5, DataGridViewAutoSizeColumnMode.AllCells)
    63. .AutoResizeColumn(6, DataGridViewAutoSizeColumnMode.AllCells)
    64. .Refresh()
    65. End With
    66. Dim autocomplete1 As New AutoCompleteStringCollection
    67. Dim autocomplete2 As New AutoCompleteStringCollection
    68. Dim autocomplete3 As New AutoCompleteStringCollection
    69. For Each row In dt3.Rows
    70. ComboBox5.Items.Add(row.Item(1))
    71. Next
    72. ComboBox5.AutoCompleteCustomSource = autocomplete1
    73. For Each row In dt2.Rows
    74. ComboBox1.Items.Add(row.Item(1))
    75. Next
    76. ComboBox1.AutoCompleteCustomSource = autocomplete2
    77. End Using
    78. End Sub

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Xyolyp“ ()

    Xyolyp schrieb:

    Backgroundworker
    Eigentlich müsste das ganze wegen threadübergfreifendem Vorgang rausfliegen.
    Mach das ganze mal in einer Button_Click-Prozedur. Dort solltest Du die Fehler sehen, so vorhanden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Ja, ich sehe Daten in allen Datagridviews, aber das Problem war schlichtweg, dass ich versucht hab, die Datagridview 2 nach der Spalte 0 in Datagridview3 zu sortieren und dadurch hab ich es kaputt gemacht. Nachdem ich das korrigiert hatte ging es super.