Ola pessoal.
Estou fazendo um relatorio de controle de conta bancaria(o programa e bem simples). O relatorio e dividido em colunas. A primeira coluna e apenas um historico da movimentacao, a segunda coluna e terceira sao descritas como debito ou credito na conta, se o valor for credito, ou seja o valor foi depositado na conta, deve aparecer somente nessa coluna, se for debito o mesmo. e por ultimo a coluna saldo, q informa o saldo da conta creditando ou debitando os valores anteriores.
a minha duvida e como fazer para q o valor apareca somente em uma das colunas, se for debito aparecer somente na coluna debito e assim por diante, a informacao se o valor e debito ou credito esta na tabela do bando de dados como um inteiro. e como somar ou subtrair os valores na coluna saldo.
minha esperiencia com Ireport e de somente listagem, ate agora naum precisei fazer calculo no relatorio 
BomDia.
Tentar criar um CustomDataSource implementado a interface JRDataSource (veja mais no demos do jasperReport que vem no fonte).
Criando um DataSource personalizado você pode trabalhar os dados que serão exibidos no seu relatório.
Algo do tipo:
[code]public class CustomDataSource implements JRDataSource{
private List<MyBean> myBean;
private int index = -1;
public CustomDataSource(List<MyBean> myBean){
this.myBean = myBean;
}
public boolean next() throws JRException{
index++;
return (index < myBean.length());
}
public Object getFieldValue(JRField field) throws JRException
{
Object value = null;
String fieldName = field.getName();
if ("movimentacao".equals(fieldName)){
value = myBean.get(index).getMovimentacao();
}
else if ("debito ".equals(fieldName)){
/* Quando não existir o respectivo valor retorne null
* e trate no relarório com a opção no campo textField abilitando a opção (blank when null).
* Assim ele não aparece no relatório */
value = myBean.get(index).getDebito();
}
else if ("credito ".equals(fieldName)){
value = myBean.get(index).getCredito();
}
else if ("saldo".equals(fieldName)){
value = myBean.get(index).getSaldo();
/* Ou dependendo de como você implementou pode ser feito assim:
*
* value = (myBean.get(index).getDebito() - myBean.get(index).getCredito());
*
* */
}
return value;
}
}[/code]
Espero ter ajudado.
coloca os dois valores nas colunas e adiciona uma expressao ao imprimir…
quando a seu field que diz se é credito ou deb, dor deb exibe na ciluna debito
e na coluna credito faz o mesmo…
quando a somar, da uma procurada como funciona as vaiaveis no relatorio
vc vai ter que criar uma e colocar para incrementar em cada iteração do detail…