Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在Datagridview中显示图像_Vb.net_Image_Datagridview - Fatal编程技术网

Vb.net 在Datagridview中显示图像

Vb.net 在Datagridview中显示图像,vb.net,image,datagridview,Vb.net,Image,Datagridview,我正在尝试使用ms access和vb.net 2012在datagridview中显示图像。 我的数据库存储图像路径不直接显示图像,因此当尝试在datagridview中检索图像时,它会显示图像路径,而不是图像 那我该怎么修呢 Private Sub design_list_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'TODO: This line of code loads data i

我正在尝试使用ms access和vb.net 2012在datagridview中显示图像。 我的数据库存储图像路径不直接显示图像,因此当尝试在datagridview中检索图像时,它会显示图像路径,而不是图像

那我该怎么修呢

   Private Sub design_list_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            'TODO: This line of code loads data into the 'Design_managementDataSet.design_details' table. You can move, or remove it, as needed.
            'Me.Design_detailsTableAdapter.Fill(Me.Design_managementDataSet.design_details)

            cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\Design Management\Database\design_management.accdb"

            If Not cnn.State = ConnectionState.Open Then
                cnn.Open()
            End If

            designDatagridShow()
        End Sub

 Private Sub designDatagridShow()
        Dim ds As New DataSet
        Dim dt As New DataTable

        ds.Tables.Add(dt)

        Dim da As New OleDbDataAdapter

        da = New OleDbDataAdapter("select * from design_details", cnn)

        da.Fill(dt)
        design_datagridview.AutoGenerateColumns = False

        Dim ColImage As New DataGridViewImageColumn
        Dim Img As New DataGridViewImageCell

        design_datagridview.ColumnCount = 3

        design_datagridview.Columns(0).Name = "design_number"
        design_datagridview.Columns(0).HeaderText = "Design Number"
        design_datagridview.Columns(0).DataPropertyName = "design_number"

        design_datagridview.Columns(1).Name = "design_collection"
        design_datagridview.Columns(1).HeaderText = "Design Collection"
        design_datagridview.Columns(1).DataPropertyName = "design_collection"

        design_datagridview.Columns(2).Name = "price"
        design_datagridview.Columns(2).HeaderText = "Design Price"
        design_datagridview.Columns(2).DataPropertyName = "price"

        design_datagridview.Columns(3).Name = "design_image"
        design_datagridview.Columns(3).HeaderText = "Design Image"
        design_datagridview.Columns(3).DataPropertyName = "design_image"

        design_datagridview.DataSource = dt
        Dim value As String
        value = design_datagridview.Columns(3).HeaderText = "design_image"
        Label1.Text = value

        cnn.Close()

    End Sub
更新1:


谢谢。

添加另一个System.Drawing.Image数据类型的列,然后使用System.Drawing.Image.FromFile根据图像列的路径设置图像。。。例如:

Dim imageColumn As New DataColumn
imageColumn.ColumnName = "ActualImage"
imageColumn.DataType = GetType(System.Drawing.Image)
dt.Columns.Add(ImageColumn)

For Each row As DataRow in dt.Rows
   row("ActualImage") = System.Drawing.Image.FromFile(row("design_image"))
Next

dt.AcceptChanges()


Dim dgvImageColumn As New DataGridViewImageColumn
dgvImageColumn.DataPropertyName = "ActualImage"
dgvImageColumn.Name = "ActualImage"
dgvImageColumn.ImageLayout = DataGridViewImageCellLayout.Zoom
design_datagridview.Columns.Add(dgvImageColumn)

design_datagridview.DataSource = dt

您应该使用DataGridViewImageColumnclass@F0r3v3r-A-N00b我是这方面的新手,所以我不知道请给我举个例子或解决方案?