Deveshdevil Ответов: 4

как показать изображение в datagridview в vb.net


Привет,
Недавно я застрял на этом вопросе интервьюера; с тех пор я изо всех сил старался пройти через него. Вопрос звучит так:

"Как вы можете показать изображение в datagridview в vb.net?"

Пожалуйста, помогите мне.
Спасибо в advancee

4 Ответов

Рейтинг:
29
Рейтинг:
1

Bert Mitton

Привет,

Для этого есть класс DataGridViewColumn!

http://msdn.microsoft.com/en-us/library/2ab8kd75.aspx[^]


Рейтинг:
1

Ador Castro

Я надеюсь, что это поможет тем разработчикам, которые еще не решили эту проблему. Я сделал свой собственный способ решения с помощью простого и легкого метода.

1. для одиночного и прямого Datagridview

Datagridview1. Rows(индекс строки Datagrid).Ячейки (индекс столбца Datagrid).Value = " расположение изображения или ресурсов проекта"

Пример:

Частная суб Datagridview1_RowsAdded(как byval отправителя как объект, как byval E Как системы.Окна.Формы.DataGridViewRowsAddedEventArgs) Обрабатывает Datagridview1. RowsAdded

Datagridview1.Строк(электронная.Параметр rowindex).Клеток(0).Значение = прп.Мой.Ресурсы.Ресурсы.myImage

Конец Подводной Лодки

Частная суб dgViewTC_UserAddedRow(как byval отправителя как объект, как byval E Как системы.Окна.Формы.DataGridViewRowEventArgs) обрабатывает dgViewTC. UserAddedRow

Datagridview1.Строк(электронная.Подряд.Индекса).Клеток(0).Значение = прп.Мой.Ресурсы.Ресурсы.myImage

Конец Подводной Лодки

ПРИМЕЧАНИЕ: ПРП.Мой.Ресурсы.Ресурсы.myImage - это то место, где находится изображение в моем проекте.

2. Для Multi Datagridview

Частная суб dgView1_UserAddedRow(как byval отправителя как объект, как byval E Как системы.Окна.Формы.DataGridViewRowEventArgs) обрабатывает dgView1. UserAddedRow
CellViewImage(dgView1, e. Row. Index, 0)
Конец Подводной Лодки

Частная суб dgView1_RowsAdded(как byval отправителя как объект, как byval E Как системы.Окна.Формы.DataGridViewRowsAddedEventArgs) обрабатывает dgView1. RowsAdded
CellViewImage(dgView1, e. RowIndex, 0)
Конец Подводной Лодки

Частная суб dgView2_UserAddedRow(как byval отправителя как объект, как byval E Как системы.Окна.Формы.DataGridViewRowEventArgs) обрабатывает dgView2. UserAddedRow
CellViewImage(dgView2, e. Row. Index, 0)
Конец Подводной Лодки

Частная суб dgView2_RowsAdded(как byval отправителя как объект, как byval E Как системы.Окна.Формы.DataGridViewRowsAddedEventArgs) обрабатывает dgView2. RowsAdded
CellViewImage(dgView2, e. RowIndex, 0)
Конец Подводной Лодки


CellViewImage государственной функции(ПДГ бывал в качестве объекта datagridview, нос бывал как целое, использует pcol бывал как целое) Как Логическое
Попробуй
ПДГ.Строк(нос).Клетки (pCol).Значение = прп.Мой.Ресурсы.Ресурсы.myImage
вернуть true
Поймать ex как исключение
функции MessageBox.шоу(экс)
возвращать false
Конец Попытки
Конечная Функция


НАДЕЮСЬ, ЭТО ПОМОЖЕТ...


Рейтинг:
0

Deveshdevil

вот что я нашел; спасибо 9from ap.

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