none
Cambiar imagen en columna de reporte en Reporting Services RRS feed

  • Pregunta

  • Hola, buen día a todos.

     

    Mi duda es:

     

    En una columna del reporte debo presentar una imágen de semáforo dependiendo de un valor de columna de base de datos, de la manera siguiente:

     

    Valor columna BD          Color semáforo a visualizar

    0                               Azul

    1                              Rojo

    2                              Amarillo

    3                             Verde

    4                             Blanco

    5                             Gris

     

    La idea que tengo es insertar en la columna del reporte un control de imagen o rectángulo, pero lo que no se es como cambiar el color de imagen dependiendo del valor de la columna de la BD. Me supongo que tengo que insertar una expresión dentro del reporte. Si alguien sabe como hacerlo, le estaré agradecido.

    miércoles, 14 de noviembre de 2007 19:35

Todas las respuestas

  • Hola,

     

    Puedes poner como expresión en el Value algo así:

    Bloque de código

    =SWITCH(

    FIELDS!TuCampo.Value = "0", "Azul",

    FIELDS!TuCampo.Value = "1", "Rojo",

    FIELDS!TuCampo.Value = "2", "Amarillo"

    ect...

    )

     

    Cambia el nombre del color por el nombre real de la imagen que ya tienes cargada en tu informe.

     

    Un Saludo

     

    jueves, 15 de noviembre de 2007 8:21
    Moderador
  • Gracias amigo por tu atención.

     

    El código que me propones al colocarlo en la expresión del value del objeto de la columna -que al parecer con cajas de texto- escriben el color, más sin embargo lo que yo necesito es pintar el color no escribirlo.

     

    El control dentro de la tabla en donde se pinta el reporte lo he llamado txtSemaforo y he intentado colocar en la expresión el siguiente código:

     

    =SWITCH(

    FIELDS!LOC_Semaforo.Value = "0", txtSemaforo.BackgroundColor = Blue,

    FIELDS!LOC_Semaforo.Value = "1", txtSemaforo.BackgroundColor = Red,

    FIELDS!LOC_Semaforo.Value = "2", txtSemaforo.BackgroundColor = Yellow,

    FIELDS!LOC_Semaforo.Value = "3", txtSemaforo.BackgroundColor = Green,

    FIELDS!LOC_Semaforo.Value = "4", txtSemaforo.BackgroundColor = White,

    FIELDS!LOC_Semaforo.Value = "5", txtSemaforo.BackgroundColor = Gray

    )

     

    Esto me marca error. Y al definir el BackgroundColor del control txtSemaforo a través de una expresión de la forma

     

    =SWITCH(

    FIELDS!LOC_Semaforo.Value = "0", Blue,

    FIELDS!LOC_Semaforo.Value = "1", Red,

    FIELDS!LOC_Semaforo.Value = "2", Yellow,

    FIELDS!LOC_Semaforo.Value = "3", Green,

    FIELDS!LOC_Semaforo.Value = "4", White,

    FIELDS!LOC_Semaforo.Value = "5", Gray

    )

     

    Igual me marca error. Si tienes alguna idea de como realizar lo que pretendo, hazme el favor de guiarme.

     

    Saludos...

    jueves, 15 de noviembre de 2007 19:46
  • Hola,

     

    Prueba con el siguiente código a poner en la expresión del background.

     

    Bloque de código

    =SWITCH(

    FIELDS!LOC_Semaforo.Value = "0", "Blue",

    FIELDS!LOC_Semaforo.Value = "1", "Red",

    FIELDS!LOC_Semaforo.Value = "2", "Yellow",

    FIELDS!LOC_Semaforo.Value = "3", "Green",

    FIELDS!LOC_Semaforo.Value = "4", "White",

    FIELDS!LOC_Semaforo.Value = "5", "Gray"

    )

     

    Un Saludo
    viernes, 16 de noviembre de 2007 9:03
    Moderador