none
Mudar a cor de um campo em tempo de execução no ReportView RRS feed

  • Pergunta

  • Bom dia, sou novo em .Net e no forum peço desculpa caso este tópico já tenha sido abordado mas em uma pesquisa não encontrei.

     

    Estou tentando alterar a cor de um campo em tempo de execução em um ReportView, baseadas em pesquisas encontrei verifiquei que poderia utilizar uma expression na propriedade "cor" do campo. Criei um expressão que compara dois campos do relatório e se não forem iguais gostaria de setar a cor como "Red". Gostaria de saber se tem erros na expressão abaixo pois a mesma não esta funcionando?

    =IIf(Fields!QtdLeitoExixt.Value=Fields!QtdLeitoSUS.Value,"Black","Red")

     

    grato.

     

     


    • Editado tpddiego terça-feira, 3 de maio de 2011 14:29
    terça-feira, 3 de maio de 2011 14:00

Respostas

  • Você não setou nada fixo de cor nesse campo? se criar um do zero e seguir os passos que falei, vai ver que dessa forma que te falei funciona.

    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro
    • Marcado como Resposta tpddiego segunda-feira, 18 de julho de 2011 20:52
    quarta-feira, 4 de maio de 2011 21:19

Todas as Respostas

  • Amigo,

    Seria mais ou menos assim.

        If TextBox1.Text = "" Then
          TextBox1.BackColor = Color.Red
        Else
          TextBox1.BackColor = Color.Black
        End If
    

     


    se a resposta foi útil, classifique :)
    ate mais,

    Rodrigo Soria
    terça-feira, 3 de maio de 2011 14:20
  • A duvida se trata de Relatórios no ReportView. Editei o post pra ficar mais claro. Mais valeu Rodrigo.




    terça-feira, 3 de maio de 2011 14:24
  • Faz assim, clica no campo que quer colocar a expressão da cor e vai nas propriedades dele, clica na setinha da propriedade BackgroundColor e clica em Expression.

    Coloca a expressão assim:

    =iif(Fields!QtdLeitoExixt.Value = Fields!QtdLeitoSUS.Value, "DarkViolet","Blue")


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro
    quarta-feira, 4 de maio de 2011 03:29
  • Bruno,

    Sua expressão esta idêntica a que eu tinha colocado exceto as cores. Ocorre que mesmo copiando a sua continua com o mesmo erro. A cor esta sendo alterada mesmo que a condição de igualdade não retorne true.

    EX:

    Tipo de Leito X Y
    Tipo A 10 20
    Tipo B 20 20

    Todo o conteúdo da coluna X foi modificado independente do valor.

    Grato

    quarta-feira, 4 de maio de 2011 13:10
  • Então, a primeira cor é aplicada se a condição estiver certa e se estiver errada aplica a segunda. Se o seu relatório tiver o fundo transparente é só aplicar a cor transparente se a condição não estiver certa:

    =iif(Fields!Valor1.Value=Fields!Valor2.Value,"Red","Transparent")


    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro
    quarta-feira, 4 de maio de 2011 16:40
  • Bruno,

    o problema é que a cor esta sendo aplicada sempre. Ex: 10 = 20 a cor seria "Red" para 20=20 a cor seria "Transparent" correto? ocorre que todas as colunas estão em vermelho. Entendeu?

    quarta-feira, 4 de maio de 2011 20:48
  • Você não setou nada fixo de cor nesse campo? se criar um do zero e seguir os passos que falei, vai ver que dessa forma que te falei funciona.

    Bruno Ferreira de Souza
    MSP - Microsoft Student Partner
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro
    • Marcado como Resposta tpddiego segunda-feira, 18 de julho de 2011 20:52
    quarta-feira, 4 de maio de 2011 21:19
  • Excluir o relatorio e fiz novamente da mesma forma e agora funcionou.
    segunda-feira, 18 de julho de 2011 20:52