Datagridview - вставка изображения в ячейку в определенной строке - PullRequest
0 голосов
/ 30 октября 2019

У меня есть проект vb.net, где у меня есть DataGridView (называемый "dgvRevisiones") для записи информации о записях о повреждениях транспортных средств. Через SFTP, который я предварительно настроил, у меня есть фотографии каждой записи о повреждениях, моя программа загружает их во временную папку, и это прекрасно работает. Проблема в том, когда мне нужно вставить каждое изображение каждой записи в соответствующую ячейку. В настоящее время у меня есть код, который вставляет только последнее изображение, которое он собирает, и повторяет его по всему столбцу.

enter image description here

Здесь я оставляю свой код:

    Public Sub ExtraerImagenRegistrosDaño()

    Dim img As Image
    Dim imagecol As New DataGridViewImageColumn
    imagecol.ImageLayout = DataGridViewImageCellLayout.Zoom
    FormPrincipal.dgvRevisiones.Columns.Insert(0, imagecol)

    Dim rutaTmp = Application.StartupPath & "/tmp"

    If (Not System.IO.Directory.Exists(rutaTmp)) Then
        System.IO.Directory.CreateDirectory(rutaTmp)
    End If

    For rowIndex = 0 To FormPrincipal.dgvRevisiones.RowCount - 1

        Dim idreg = FormPrincipal.dgvRevisiones.Rows(rowIndex).Cells("idreg").Value.ToString
        Dim descripcion = FormPrincipal.dgvRevisiones.Rows(rowIndex).Cells("descripcion").Value.ToString
        ConexionBD.conectar()
        Dim recoleccionidins As New DataTable
        comandoquery = "SELECT idins FROM registro_dano WHERE descripcion='" & descripcion & "' AND idreg='" & idreg & "'"
        comando.Connection = ConexionBD.conexion
        comando.CommandText = comandoquery
        recoleccionidins.Load(comando.ExecuteReader)
        Dim idinsExtraido = recoleccionidins.Rows(0).Item(0).ToString().Trim()
        ConexionBD.cerrar()

        Dim sessionOptions As New SessionOptions
        With sessionOptions
            .Protocol = Protocol.Sftp
            .HostName = "HOST"
            .UserName = "USER"
            .Password = "PASSWORD"
            .GiveUpSecurityAndAcceptAnySshHostKey = True
        End With

        Using session As New Session
            session.Open(sessionOptions)
            Try
                session.GetFiles("/home/sislota/database-registros-dano/Registro-" & idinsExtraido & "-" & idreg & ".png", rutaTmp & "\Registro-" & idinsExtraido & "-" & idreg & ".png").Check()
            Catch ex As Exception

            End Try
        End Using

И тут начинаем выпускать:

        Try
            img = Image.FromFile(rutaTmp & "\Registro-" & idinsExtraido & "-" & idreg & ".png")
        Catch ex As Exception

        End Try

        imagecol.Image = img

    Next

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...