简体   繁体   English

如何在 datagridview 单元格中添加图像和文本

[英]How to Add the image and text in datagridview cell

Actually i want to customised the Datagridview cell according to my requirement.实际上我想根据我的要求自定义 Datagridview 单元格。 I've to add text and image to Datagridview row for specific column.我必须将文本和图像添加到特定列的 Datagridview 行。 see the following image见下图

在此处输入图像描述

Can any one help me with some example ?谁能帮我举个例子? Thanks.谢谢。

try this尝试这个

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    DataGridView1.ColumnCount = 3
    DataGridView1.Columns(0).Name = "Product ID"
    DataGridView1.Columns(1).Name = "Product Name"
    DataGridView1.Columns(2).Name = "Product_Price"

    Dim row As String() = New String() {"1", "Product 1", "1000"}
    DataGridView1.Rows.Add(row)
    row = New String() {"2", "Product 2", "2000"}
    DataGridView1.Rows.Add(row)
    row = New String() {"3", "Product 3", "3000"}
    DataGridView1.Rows.Add(row)
    row = New String() {"4", "Product 4", "4000"}
    DataGridView1.Rows.Add(row)

    Dim img As New DataGridViewImageColumn()
    Dim inImg As Image = Image.FromFile("Image Path")
    img.Image = inImg
    DataGridView1.Columns.Add(img)
    img.HeaderText = "Image"
    img.Name = "img"

    End Sub
  End Class

You can you convert DataGridView cell dynamically to DataGridViewTextBoxCell() and display text value to that column.您可以将 DataGridView 单元格动态转换为DataGridViewTextBoxCell()并将文本值显示到该列。 below is code sample that gives you some basic idea.下面是代码示例,可以为您提供一些基本概念。

Private Sub button1_Click(sender As Object, e As EventArgs)
    dataGridView1.Rows(3).Cells("ImageCol") = New DataGridViewTextBoxCell()
    dataGridView1.Rows(3).Cells("ImageCol").Value = "Hello.."
End Sub
       Dim dt As New DataTable

        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("Image_Path"))
        Next

        dt.AcceptChanges()


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

        DataGridView1.DataSource = dt

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM