Descrição:
Como posso criar expressões no Elipse Mobile?
Solução:
É possível modificar algumas propriedades dos controles conforme o valor do tag. Para inserir uma expressão, é necessário iniciar o campo com sinal “=”, que indica que o campo receberá uma expressão.
Exemplo:
Vamos criar um controle do tipo Display, cujo Título deve ser modificado de acordo com a temperatura da água. Neste caso, o sensor da água está no demo:TagInternal1; abaixo de 20ºC, o título será “Água Fria”, e acima dessa temperatura será “Água Quente”. A seguinte expressão será inserida no campo:
=ValueOf(“demo:TagInternal1”) <= 20?"Água Fria":"Água Quente"
Além do título, a cor do controle também deverá ser alterada conforme o valor da tag: quando a temperatura estiver abaixo de 20°C, o controle será azul; acima dos 20°C, vermelho. Então, no campo “Cor” será inserida a expressão:
=ValueOf(“demo:TagInternal1”) <= 20?"#144E9F":"#C01F2A"
Resultados:
NOTA: Os operadores lógicos utilizados neste caso são os mesmos utilizados em javascript.
Não funcionou a expressão aqui.
O nome da conexão “demo” do cliente Roberto estava diferente do exemplo, por isso a expressão não funcionou.
Exemplo:
=ValueOf(“ConnectionDemo:TagInternal1”) <= 20?"Água Fria":"Água Quente"
Recomendo a sempre se atentar ao nome dos objetos e expressões, para evitar erros quanto ao caminho do tag, uma opção é buscar o caminho do tag desejado na propriedade tag de qualquer controle do Mobile, copiar o caminho do tag e completar com a expressão desejada.
Olá, só funciona com ternário?
Eu gostaria de implementar a seguinte expressão:
Se a tag for menor que 40, escreva “Abaixo do peso”;
Senão, Se a tag for maior que 60, escreva “Acima do peso”;
Senão, escreva “Peso normal”
Desde já agradeço!
Samuel, bom dia.
Funciona com mais condições, conforme este tópico no Forum Elipse: https://forum.elipse.com.br/t/expressoes-no-elipse-mobile/823/3
Exemplo:
=ValueOf(“demo:TagInternal1”) < 40?”Abaixo do Peso:ValueOf(“demo:TagInternal1″) > 60?”Acima do Peso”:”Peso normal”
Sds.
Show! Muito obrigado Luiz Fernando!
Abraço!