Iandev Smarter Business - Logo Cor
Navegação no fórum
para criar postagens e tópicos.

Manipulação de Datalist

[quote][b]Manipulação de Datalist
[/b][/quote]

Quando for necessário fazer manipulação no DataList,
como por exemplo, você tem um valor que é uma porcentagem de um total, e esse total não é possível carregar no próprio SQL, ou essa operação é pesada e não quer rodar a busca varias vezes, é possível isolar esse SQL dos Totais, que será igual para todos. E para cada fração desse valor, aplicar a operação sobre ele ou um campo novo.

[code]
set run = ""+bdo.util.DataListUtil.forEachRow(execScript, execScript.getDataList("dataList"), "dataList.setValue(row, 'representacao', dataList.getBigDecimal('valor') / $c{VALORTOTAL})^");
[/code]

[*][b]dataList:[/b] Seu datalist, [i]sql_var(dataList)[/i]
[*][b]representacao:[/b] Um campo com valor zerado no datalist, [i]0 as representacao[/i]
[*][b]valor:[/b] Valor em questão que quer saber a representação do total
[*][b]$c{VALORTOTAL}:[/b] Total calculado uma unica vez em um sql separado

Ou então dado uma data no padrão yyyy-MM-dd, mudar para dd/MM/yyyy:

[code]
set run = ""+bdo.util.DataListUtil.columnFormat(execScript.getDataList('datalist'), 'data', 'date:dd/MM/yyyy', 'dataf');
[/code]

[*][b]data:[/b] campo do datalist original da data
[*][b]dataf:[/b] campo do datalist com valor em branco, para ser inserido o valor novo.

O mesmo, só que para formatar um número:

[code]
set run = ""+bdo.util.DataListUtil.columnFormat(execScript.getDataList('datalist'), 'valor', 'dec:###,###,##0.00', 'valorf');
[/code]