none
INSERTAR IMAGENES Y TEXTO EN UNA CELDA DEL DATAGRIDVIEW

    Pregunta

  • Buenos dias, yo por aqui de nuevo. Agradeciendole de ante mano su colaboracion con las dudas que he tenido.

    He tenido muchas preguntas por que estoy haciendo un software para motel y hay cosas que han sido nuevas para mi pero que gracias a dios y su ayuda he logrado resolver.

    mi siguiente duda es la siguiente: como hago para insertae en cada celda del datagridview una imagen y su texto. les explico:

    tengo un formulario al que he llamado maestro de recepcion que es donde se visualizan todas las habitaciones que posee el motel. eso ya lo hice, entonces en cada celda se me visualiza el numero de la habitacion y un color dependiendo del estado de la habitacion (libre, ocupada, fuera de servicio, etc) hasta ahi todo bien.

    pero el cliente me ha pedido que en ves de colores la celda me muestre una imagen cualquiera que indique que esa habitacion esta en servicio. pero necesito que el codigo de la habitacion me siga apareciendo por que el recepcionista se fijara cual es el numero de la habitacion y ademas con ese numero realizo una cantidad de procesos.

     

    de ante mano muchas gracias por su ayuda.

    martes, 21 de diciembre de 2010 14:59

Respuestas

  • hola

    has definido una columan del tipo

    DataGridViewImageColumn

    si es asi solo debes acceder al value de la celda y asignar la imagen

    DataGridView1.CurrentRow.Cells("nombrecolumna").Value = Image.FromFile("c:\imagenes\imagen.jpg")

    http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/9e418d5d-98bd-4e26-9f19-8551262537f3

    si quieres agregar una row nueva podrias usar

    Dim imagen As Image = Image.FromFile("c:\imagenes\imagen.jpg")

    DataGridView1.Rows.Add("nombre imagen", imagen)

     

    lo que no recuerdo es si debes definir la propiedad ValueType cuando creas el DataGridViewImageColumn

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 21 de diciembre de 2010 15:36
  • hola

    no encontre algo completo sobre el tema, pero si para una orientacion

    GraphicCreating Text Images On the Fly with GDI+s fromimage

    como veras se trabaja con GDI

    en el articulo crea una imagen nueva y escribe sobre ella, en tu caso deberas cargar una de un archivo

    el tema es obtener el objeto Graphics, que en el ejemplo lo ahce de esta forma

    MyGraphics = MyGraphics.FromImage(ImageFortext)

     

    pero tu necesitas una imagen cargar alli, asi que podrias hacer

    Image imageFile = Image.FromFile("c:\imagenes\SampImag.jpg");

    MyGraphics = MyGraphics.FromImage(imageFile)

     

    en este otor link justo muestra esto


    entonces el resto seria seguir el articulo del link y escribir el texto en la imagen, para luego cargarloe n la celda del DatraGridView

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 24 de diciembre de 2010 13:58

Todas las respuestas

  • hola

    has definido una columan del tipo

    DataGridViewImageColumn

    si es asi solo debes acceder al value de la celda y asignar la imagen

    DataGridView1.CurrentRow.Cells("nombrecolumna").Value = Image.FromFile("c:\imagenes\imagen.jpg")

    http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/9e418d5d-98bd-4e26-9f19-8551262537f3

    si quieres agregar una row nueva podrias usar

    Dim imagen As Image = Image.FromFile("c:\imagenes\imagen.jpg")

    DataGridView1.Rows.Add("nombre imagen", imagen)

     

    lo que no recuerdo es si debes definir la propiedad ValueType cuando creas el DataGridViewImageColumn

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 21 de diciembre de 2010 15:36
  • Gracias por responder. pero con esto ya podre visualizar el texto y la imgen en la celda??
    martes, 21 de diciembre de 2010 15:38

  • en la misma celda no creo que se pueda, habia apuntado a que uses dos columnas distintas

    en una muestras la imagen, en la otra la descripcion

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 21 de diciembre de 2010 15:41
  • La verdad no me serviria asi, de la forma que tu apuntas yo lo se hacer, necesito es como te comente.

    alguna otra forma??

    martes, 21 de diciembre de 2010 15:48
  • Hola:
    ¿Has probrado a poner una imagen que sea un numero?

    Un saludo desde Bilbo
    Carlos

    miércoles, 22 de diciembre de 2010 8:23
  • la idea es que la imagen sea un relojito, o cualquier cosa que indique que la habitacion este en servicio, y el numero si debe ser texto para realizar mis validaciones
    miércoles, 22 de diciembre de 2010 13:42
  • hola

    por ahi debas armar la imagen en runtime, o sea usando System.Drawing tomar la imagen y añadir a esta el texto

    esto generara una imagen compuesta (imagen y texto) que resultara en una imagen resultante que agregaras a la celda del DataGridView

    o sea apunto a que a la imagen le agregues el texto, por supuesto sin modificar la imagen original, sino que generando una nueva como resultado de esta accion

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 22 de diciembre de 2010 13:49
  • no entendi de a mucho
    miércoles, 22 de diciembre de 2010 13:54
  • leandro me podrias explicar con algun ejemplo como se haria lo del system.drawing

     

    te agradeceria muchisimo.

    jueves, 23 de diciembre de 2010 21:26
  • hola

    no encontre algo completo sobre el tema, pero si para una orientacion

    GraphicCreating Text Images On the Fly with GDI+s fromimage

    como veras se trabaja con GDI

    en el articulo crea una imagen nueva y escribe sobre ella, en tu caso deberas cargar una de un archivo

    el tema es obtener el objeto Graphics, que en el ejemplo lo ahce de esta forma

    MyGraphics = MyGraphics.FromImage(ImageFortext)

     

    pero tu necesitas una imagen cargar alli, asi que podrias hacer

    Image imageFile = Image.FromFile("c:\imagenes\SampImag.jpg");

    MyGraphics = MyGraphics.FromImage(imageFile)

     

    en este otor link justo muestra esto


    entonces el resto seria seguir el articulo del link y escribir el texto en la imagen, para luego cargarloe n la celda del DatraGridView

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 24 de diciembre de 2010 13:58
  • ok lo probare, pero parece que he encontrado una clase que podria hacer esto.

     

    de todos modos probare de las 2 formas y comentare.

     

    gracias leandro y feliz navidad para todos.

    viernes, 24 de diciembre de 2010 14:04