none
Problema al cargar celda con imagen de datagridview desde formulario MDI RRS feed

  • Pregunta

  • Buenas Noches compañeros del foro, les vengo a plantear una pregunta.

    Tengo un formulario en donde cargo en un datagridview un listado de  productos, en donde en una de sus celdas muestro una imagen de cada producto (Tipo de dato Image almacenada en sql server). Hasta acá todo bien, no tengo ningún problema en cargarlo.


    El problema se suscita cuando intento llamar al formulario de productos desde  el formulario principal q tiene el menustreep,  el cual será el formulario padre que va a contener el formulario de productos.

    Es decir al hacer el siguiente código para mostrar el formulario de productos desde el menu principal:

    Public Class frmMenuPrincipal{

    Private void ProductoToolStripMenuItem_Click

    {

    FrmProducto f= new FrmProducto()

    f.MdiParent=this;

    f.Show;

    }

    }

    Al realizar el código mostrado lineas arriba cuando ejecuto el programa en el datagridview no me carga las imagenes del producto, me carga una X de color rojo tal y como muestro en la siguiente imagen:


    Al parecer cuando asigno la propiedad mdiparent causa este conflicto, ya que si no asigno esa propiedad las imagenes cargan correctamente. 

    Alguien tiene una idea de como poder subsanar o corregir ese conflicto.

    Gracias

    lunes, 30 de marzo de 2020 0:40

Respuestas

  • "Al parecer cuando asigno la propiedad mdiparent causa este conflicto, ya que si no asigno esa propiedad las imagenes cargan correctamente."

      Hola Luis Fernando Muñoz Hidalgo

    Cuando la imagen está enlazada en el controlador de eventos de carga de formulario, en el caso de MDChild el valor de la celda que muestra la imagen se vuelve nulo(se resetea) y no se ve ninguna imagen.  Cuando no es MDChild, entonces el valor de celda se conserva y se ve la imagen. No estoy claro por qué el restablecimiento está sucediendo en el caso de MDIChild.
    Suscríbete al evento Shown del formulario y mueve el código de enlace de imagen a ese controlador de eventos. Funciona tanto en casos de uso normales como de MDIchild.

    Saludos

    lunes, 30 de marzo de 2020 14:46
    Moderador