ankit.agg1984 Ответов: 2

Невозможно привести объект типа 'System.Рисование.Растровая система "для ввода".Байт[]'.


Привет,

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

private void dgvDisplayTiles_CellClick(object sender, DataGridViewCellEventArgs e)
        {
try
            {
                //Get image data from gridview column.
                txtTileName.Text = dgvDisplayTiles.CurrentRow.Cells[2].Value.ToString();
                cmbtilecategory.Text = dgvDisplayTiles.CurrentRow.Cells[1].Value.ToString();
                lblTileID.Text = dgvDisplayTiles.CurrentRow.Cells[0].Value.ToString();
                byte[] imageData = (byte[])dgvDisplayTiles.CurrentRow.Cells[3].Value;//Error
                i = e.RowIndex;
                //Initialize image variable
                Image newImage;
                //Read image data into a memory stream
                using (MemoryStream ms = new MemoryStream(imageData, 0, imageData.Length))
                {
                    ms.Write(imageData, 0, imageData.Length);

                    //Set image variable value using memory stream.
                    newImage = Image.FromStream(ms, true);
                }

                //set picture for preview
                picTextureDisplay1.Image = newImage;

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }}


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

заранее спасибо.

Анкит Агарвал
инженер-программист

2 Ответов

Рейтинг:
2

Member 10327352

TxT_UserID1.Text = DG2.SelectedRows[0].Ячейки[10].Значение.Метод toString();
byte[] imageData = (byte[])DG2.CurrentRow.Ячейки[11].Значение;
Изображение newImage;
using (MemoryStream ms = new MemoryStream(imageData, 0, imageData.Длина))
{
ms.Write(imageData, 0, imageData.Длина);
newImage = изображение.FromStream(ms, true);
}
pictureBox2.Image = newImage;