Moin ihr, ich steh schon wieder mal auf Kriegsfus mit einem Datagridview. Nachdem ich nun schon 4 Stunden selbt versucht hab das Problem zu umgehen, frag ich nun doch euch um Hilfe.
Ich hab ein Datagridview mit 15 Spalten. Dten bekommt das Datagridview aus einer Bindingsource, die ich mit der DBEx fülle.
Ich möchte das mit in der letzen Spalte (DataGridViewImageColumn) ein kleines Image angezeigt wird, wenn bei dem angezeigten Eintrag ungelesene Informationen vorliegen, zu diesem Zweck habe ich eine kleines Script, das ich an das ListChanged Event der Bindingsorce gebunden habe.
Beim Öfnen und erstmaligen befüllen des DataGridViews läuft das alles prima, nur wenn aus dem Datagridview eine Row verschwindet, kommt es erst zu folgender Fehlermeldung
und danach zu
Kann mir jemand helfen? Bin etwas verzweifelt.
Ich hab ein Datagridview mit 15 Spalten. Dten bekommt das Datagridview aus einer Bindingsource, die ich mit der DBEx fülle.
Ich möchte das mit in der letzen Spalte (DataGridViewImageColumn) ein kleines Image angezeigt wird, wenn bei dem angezeigten Eintrag ungelesene Informationen vorliegen, zu diesem Zweck habe ich eine kleines Script, das ich an das ListChanged Event der Bindingsorce gebunden habe.
VB.NET-Quellcode
- Private Sub infos(sender As Object, e As EventArgs) Handles bsServiceticket.ListChanged
- For Each row As DataGridViewRow In dgvTickets.Rows
- Dim count = InfoCount(My.Settings.User, row.Cells("dgvcId").Value)
- With row.Cells("dgvcInfo")
- If count > 0 Then
- .Value = My.Resources.Alert.ToBitmap
- .ToolTipText = count
- Else
- .Value = transparentImage
- End If
- End With
- Next
- End Sub
- ''' <summary>
- ''' Gibt die Anzahl an nichtgelesenen Infos zurük
- ''' </summary>
- ''' <param name="techkz"></param>
- ''' <param name="ticketId"></param>
- ''' <returns></returns>
- Private Function InfoCount(techkz As String, ticketId As Integer) As Integer
- Dim count As Integer = 0
- Dim conn As New MySqlConnection
- Dim sqlstring As String = ("Select Count(*) as Anzahl FROM db_dispatching.tbl_serviceticket_detail AS a
- Left Join(Select * From db_dispatching.tbl_serviceticket_viewed WHERE viewer Like '" & My.Settings.User & "') as b
- On a.ticket_detail_ID = b.ticket_detail_ID
- WHERE a.ticket_id = " & ticketId & " And id Is Null;")
- Try
- conn = New MySqlConnection(My.Settings.db_dispatchingConnectionString)
- conn.Open()
- Dim command As MySqlCommand = New MySqlCommand(sqlstring, conn)
- count = command.ExecuteScalar()
- conn.Close()
- Debug.Print(count)
- Catch ex As MySqlException
- Debug.Print(ex.ToString())
- End Try
- Return count
- End Function
Beim Öfnen und erstmaligen befüllen des DataGridViews läuft das alles prima, nur wenn aus dem Datagridview eine Row verschwindet, kommt es erst zu folgender Fehlermeldung
und danach zu
Kann mir jemand helfen? Bin etwas verzweifelt.