Mais conhecido como Text Expression, normalmente é uma propriedade de algum dos objetos do iReport: um textfield, um parâmetro, uma imagem ou até mesmo dentro de subrelatorios.
Nesse campo podemos fazer uso de uma "linguagem" do JasperReport, que será traduzida posteriormente para interpretação no relatório.
Podemos também usar algumas expressões da linguagem JAVA como por exemplo condição ternária ( valor1==valor2?true:false ) combinando até mesmo com as expressões do Jasper.
A melhor forma de aproveitar o maximo desse ponto forne no relatorio é tentar entender como ele funciona: toda variável interna do jasper, como alguma que referencia algum campo ou parametro ( exemplo: $P{PARAM} ), pode ser vizualizada como uma variavel Java, dependendo do tipo declarado dessa variavel no relatorio.
Para entender melhor esse conceito, vamos a um exemplo:
Suponha que fizemos um realtorio, declaramos os seus campos, variaveis e parametros.
Suponha que um dos campos declarados tenha o nome de "FIELD_NAME". Logo para acessa-lo, em algum textfield temos que declarar na propriedade TextExpression deste campo o valor: $F{FIELD_NAME}
Outra coisa é o tipo do campo declarado (a classe do java correspondente ao tipo do valro). Suponha que seja java.lang.String. Logo na criação do textfield no realtorio terá o mesmo tipo.
Bem, vamos tentar ter um pouco da visão de como o Jasper vai enxergar o valor declarado na propriedade TextExpression. O jasper vai tentar substituir o valor $F{FIELD_NAME} pelo valor encontrado na fonte de dados, que, de acordo com o tipo declarado, deve ser uma String.
Logo, $F{FIELD_NAME} é uma variavel do tipo String do java. Posso dizer que, se o valor encontrado na fonte de dados é "JAMES", $F{FIELD_NAME} = "JAMES". Sendo assim, posso usar métodos que o objeto String possui. Por exemplo: length().
Se fosse numa string direto, poderia fazer: "JAMES".length() . O mesmo posso fazer na variavel $F{FIELD_NAME}. ASsim: $F{FIELD_NAME}.length() . Terá o mesmo efeito que na string, e assim como os outros métodos da String, como substring, equals, etc.
Isto serve para qualquer tipo de variavel ( String, Double, Integer, etc ) e qualquer uma das variaveis do Jasper ( $P{}, $F{}, $V{} ).
Por isso, podemos criar verdadeiros scripts dentro deste TextExpression, que pode verificar valores, fazer calculos, etc.
Abaixo segue uma breve definição dos tipos mais comuns de variaveis bastante utilizada no Jasper:
Campos
Para se referenciar a um disponível da fonte de dados, utiliza-se $F{*nome_do_campo*}.
Exemplo: $F{CODIGO_ITEM}
Variáveis
Para se referenciar a um disponível da fonte de dados, utiliza-se $V{*nome_da_variavel*}.
Exemplo: $V{VALOR_TOTAL}
Existem varáveis já criadas pelo próprio iReport que podem ser utilizadas dentro do relatório. Algumas delas são: PAGE_NUMBER, COLUMN_NUMBER, REPORT_COUNT, PAGE_COUNT, COLUMN_COUNT entre outros.
Parâmetros
Para se referenciar a um disponível da fonte de dados, utiliza-se $P{*nome_do_parametro*}.
Exemplo: $P{PARAMETRO}
Utilizando Expressões em Java
Exemplo:
new String(“Valor”);
New Double(0)
New Double($F{VALOR_TOTAL}.doubleValue() + new Double(5).doubleValue())
$F{NOME}.equals(“ME”) ? “”:$F{NOME}
Lugares para usar Expressões
- TextExpression
- PrintWhenExpression (Elementos, Bands)
- Connection Expression (Subreport)
- E mais alguns...
Quarta-feira, Maio 10, 2006
[ARTIGO] iReport: Expressões (Text Expression)
Primeiro artigo da série :) Sempre que possivel vou colocar alguma coisa do gênero aqui.
Assinar:
Postar comentários (Atom)
3 perguntas:
Here are some links that I believe will be interested
This site is one of the best I have ever seen, wish I had one like this.
»
Great site loved it alot, will come back and visit again.
»
Postar um comentário