Вставка изображения в picturebox с помощью щелчка мыши в DataGridView
Я хочу поместить изображение в свой picturebox, когда я нажимаю на ячейку в своем datagridview, но моя программа всегда останавливается, когда я нажимаю на одну ячейку..
у меня тоже возникли проблемы с тем, как я мог бы привести "образ" в тип данных "байт"..
(к вашему сведению, я использую "varbinary(max)" на своем SQL-сервере, и я хочу преобразовать его в "байт")
кто-нибудь может мне помочь?
private void dataGridView1_MouseClick(object sender, MouseEventArgs e) { DataGridViewRow row; row = dataGridView1.CurrentRow; Byte[] picture = (Byte[]) row.Cells[5].Value; //my program always stopped here MemoryStream ms = new MemoryStream(picture); pictureBox1.Image = Image.FromStream(ms); }
Sunasara Imdadhusen
В чем ваша ошибка?
Sam Oryza Reyno
Byte[] picture = (байт[]) строка.Ячейки[5].Значение;
когда я запускаю его и дважды щелкаю на своем GridView, моя программа останавливается на этой строке.
dinesh 2010
ладно
BulletVictim
Вы можете попробовать использовать событие CellContentClick в DataGridView.
Если это должно быть в определенном столбце, вам нужно использовать что-то вроде этого.
если(электронная.значение columnindex == я)
{
//ваш код
}
Возможно, я упускаю именно то, о чем вы просите
Sam Oryza Reyno
я обновил свой вопрос на случай двусмысленности.. ты все еще в замешательстве?
(извините, если мой английский вас смущает)
[no name]
Ладно ... отойди на секунду. Является ли содержимое 6 - го столбца вашей сетки массивом байтов? Разве это уже не образ? Знание того, в чем заключается ошибка, которую вы получаете, немного помогло бы. Какое отношение к этому имеет SQL server?
Sam Oryza Reyno
6-й столбец объявлен как Varbinary(max) (я читал какой-то пост о том , как вставить изображение в базу данных, и они сказали, что я должен использовать varbinary datatype)
когда я вставляю изображение, ячейка записывает двоичные данные
Сообщение об ошибке:
Индекс был вне досягаемости. Должно быть неотрицательным и меньше размера коллекции.
SQL Server 2008 R2 ..