Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar imagen desde un datagrid a un formulario

Estas en el tema de Pasar imagen desde un datagrid a un formulario en el foro de .NET en Foros del Web. Tengo un DataGridView, el cual contiene datos y al hacer click en el me muestra otro formulario pasando dichos datos en controles especificos... Hasta ahi ...
  #1 (permalink)  
Antiguo 13/09/2015, 11:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 97
Antigüedad: 14 años, 7 meses
Puntos: 0
Pasar imagen desde un datagrid a un formulario

Tengo un DataGridView, el cual contiene datos y al hacer click en el me muestra otro formulario pasando dichos datos en controles especificos...

Hasta ahi todo bien, pero cuando quiero pasar un campo, de tipo image directo desde mi BD no lo logro obtener.

Aqui le paso un ejemplo de como estoy tratando de hacerlo.

Código:
 if (dtg.Rows[e.RowIndex].Cells["CAMPO1"].Value.ToString() != "")
            {
                frm.txtCampo1.Text = dtg.Rows[e.RowIndex].Cells["CAMPO1"].Value.ToString();
            }
            frm.Imagen.BackgroundImage = null;
            if (dtg.Rows[e.RowIndex].Cells["IMAGEN"].Value.ToString() !="")
             
            {
                frm.Imagen.Image =  byte[]data; = Encoding.Unicode.GetBytes (dtg.CurrentRow.Cells["IMAGEN"].Value.ToString());
               
                MemoryStream ms = new MemoryStream(data);
                frm.Imagen.Image = Image.FromStream(ms);
            }
            frm.ShowDialog();

El problema viene en esta linea. frm.Imagen.Image = byte[]data; . No se o no logro pasar ese parametro...


Gracias.
  #2 (permalink)  
Antiguo 25/09/2015, 15:23
 
Fecha de Ingreso: mayo-2015
Ubicación: Nicaragua, Diriamba
Mensajes: 48
Antigüedad: 9 años
Puntos: 1
Respuesta: Pasar imagen desde un datagrid a un formulario

Hola

Intenta esto

Código:
byte[] data=new byte[0];
data=(byte[])dtg.CurrentRow.Cells["IMAGEN"].Value
MemoryStream ms = new MemoryStream(data);
frm.Imagen.Image = Image.FromStream(ms);

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:17.