Renjith_R Ответов: 2

Как загрузить изображение из папки в datagridview в приложении windows form


Мне нужно загрузить изображение из папки в datagridview в форме windows, gridview должен иметь флажок для выбора каждого изображения.

Заранее спасибо

2 Ответов

Рейтинг:
2

Er. Dinesh Sharma

Привет попробуйте этот код

private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e)
       {

           OpenFileDialog dlg = new OpenFileDialog();
           DialogResult dr = dlg.ShowDialog();
        if (dr == System.Windows.Forms.DialogResult.OK)
        {
            string filename = dlg.FileName;
            ((DataGridViewImageCell)dataGridView1.Rows[e.RowIndex].Cells[1]).Value = Image.FromFile(filename);
        }

       }


Renjith_R

Спасибо за ваш ответ,
я хочу привязать изображения из папки к datagridview в приложении windows form.

Изображение изображение = изображение.FromFile(@"D:\1.png");
DataGridViewImageColumn ImageColumn = новый DataGridViewImageColumn();
ImageColumn.Изображение = изображение;
ImageColumn.имя name";
ImageColumn.HeaderText = "Хорошее Имя";
ImageColumn.Ширина = 200;
dataGridView1.Columns.Insert(0, ImageColumn);

Я пробовал этот код, но он не показывает изображение

Er. Dinesh Sharma

Использовать это


Изображение изображение = изображение.FromFile(@"D:\1.png");
DataGridViewImageColumn ImageColumn = новый DataGridViewImageColumn();
ImageColumn.Изображение = изображение;
ImageColumn.имя name";
ImageColumn.HeaderText = "Хорошее Имя";
ImageColumn.Ширина = 200;
dataGridView1.Columns.Добавить(ImageColumn);

Renjith_R

спасибо за ответ.
Оба кода дают один и тот же результат,(изображения отображаются в знаке X,не давая правильного изображения)
Есть ли какие-то проблемы с path ?
пытаюсь привязать картинку из папки, сработает ли она в этом случае ?

Рейтинг:
0

morizkhan

Хотя это очень старая тема, но обмен моим опытом может помочь будущим посетителям.

Код @Er. Динеш Шарма поделился волей, которая будет прекрасно работать. Единственное, что вам нужно сделать, это убедиться, что код, который загружает изображения в ячейку DataGridView, запускается после загрузки формы.
- "Я нашел решение здесь.]
1: Загрузите данные в DataGridView при загрузке формы

private void Form1_Load(object sender, EventArgs e)
{
    //call your function that loads data into datagridview.
}


2: Используйте Форму.Показанное событие для запуска кода, загружающего изображения. [Документация Microsoft]
private void Form1_Shown(Object sender, EventArgs e) {

   //call your function that load images in DataGridView Cell.
}