关于C#:在Windows窗体应用程序中无法将图像添加到数据网格视图中

adding image to data grid view not getting proper in windows form application

我正在使用vb.net Windows应用程序。
我正在这样填充我的DataGridView(我在加载事件中编写的代码)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim cd As SqlCommandBuilder = New SqlCommandBuilder(adapter)
        adapter = New SqlDataAdapter("select c.cid,c.CompanyName,d.dtId,d.dtName as Department,d.dtPhone as Phone,d.dtEmail as Email from CompanyMaster_tbl c join  DepartmentMaster_tbl d on c.Cid=d.cId order by cid", con.connect)
        dt1 = New DataTable
        bSource = New BindingSource
        adapter.Fill(dt1) 'Filling dt with the information from the DB
        bSource.DataSource = dt1
        gv.DataSource = bSource
        gv.Columns("cid").Visible = False
        gv.Columns("dtId").Visible = False
        Dim btn As New DataGridViewButtonColumn
        btn.HeaderText ="Image"
        btn.Text ="...."
        btn.Name ="btn"
        btn.UseColumnTextForButtonValue = True
        gv.Columns.Insert(6, btn)

和datagridview单元格内容单击,我写了这样的代码:

1
2
3
4
5
6
7
8
9
10
11
12
Dim OFDLogo As New OpenFileDialog()
            OFDLogo.Filter ="JPEG(*.jpg)|*.jpg|BMP(*.bmp)|*.bmp"
            If OFDLogo.ShowDialog() = DialogResult.OK Then
                txtCorLogo.Text = OFDLogo.FileName()
            End If
 Dim path As String = txtCorLogo.Text
 Dim img As New DataGridViewImageColumn()
        Dim inImg As Image = Image.FromFile(path)
        img.Image = inImg
        gv.Columns.Add(img)
        img.HeaderText ="Image"
        img.Name ="img"

我正在尝试在第一行的图像列中添加图像,但是图像出现在图像列的所有行中。
我正在像这样在数据网格视图中获取图像
enter

设置DataSource后,创建一个DataGridViewImageColumn并将其添加到DataGridView

在CellContentClick事件处理程序中,编写以下代码,并将**替换为ImageColumn编号,将$$替换为ButtonColumn编号。

1
2
3
4
5
6
7
If e.CoumnIndex == $$ Then
Dim OFDLogo As New OpenFileDialog()
        OFDLogo.Filter ="JPEG(*.jpg)|*.jpg|BMP(*.bmp)|*.bmp"
        If OFDLogo.ShowDialog() = DialogResult.OK Then
          myDataGridView.Rows(e.RowIndex).Cells(**).Value = Image.FromFile(aOFD.FileName);
        End If
End If