Trabalhando com Formatação de Números no Oracle ADF
OBS.: Como é meu primeiro post e eu estou sem tempo nenhum, vou formatá-lo e incluir coisas após. Por enquanto é só um sketch para uma primeira postagem.Vamos lá, sendo totalmente direto.
Para formatar um campo inputText da forma que você quiser, existem duas formas.
A primeira é você usar o <af:convertNumber /> diretamente no input. A segunda é utilizar os UIHints dos bindings que serão usados, o campo "format" fará a mágica.
Por exemplo:
Se eu quero um número do estilo: 1.200,4002 eu conto os dígitos antes da vírgula e depois da vírgula. Estes são separados por 4 integerDigits e 4 fractionDigits. Portanto, ao inserir o "maxFractionDigits" você terá que saber quantos números fracionados você quer. Neste caso, eu quero 4. Caso você queria SEMPRE mostrar os 4 dígitos (por exemplo, ao inserir 400, você verá 400,0000), você utiliza a propriedade "minFractionDigits", que é o mínimo de dígitos fracionados que você terá no formato.
Há também a propriedade: "maxIntegerDigits", onde você colocar o tamanho de dígitos máximos que o campo irá receber. Mesma coisa o "minIntegerDígits", caso você queira um zero a esquerda 0,0002.
Dito isso, vamos aos tipos.
Number: É o formato de número. O tipo default do convertNumber. Utiliza-se um pattern, por exemplo: ,##0,##
Currency: É o formato de moeda. Ela renderizará conforme o Locale default, que o ADF busca do servidor onde está implantado, ou este pode ser setado diretamente no faces-config.xml. No caso do local pt-BR, este trará os números conforme formato ###.###,00. Caso seja en-US, o formato será ###,###.00 Óbvio que você pode fazer o seu formato, conforme a classe java.text.DecimalFormat e incluir como uma expression language.
Percent: É o formato de porcentagem. O interessante é que todo o valor que você insere neste campo é transformado em valor de porcentagem, por exemplo: tenho um campo 1, que será multiplicado pelo campo 2, que é do tipo "percent". Quando insiro o 10 no campo 2 o campo 1 é multiplicado por 0,1, isto é, 10% do valor do campo.
Há outras propriedades como "currencyCode, currencySymbol", que obviamente, como o nome diz, dá-se pra incluir o código e o símbolo da moeda em questão (CRZ$ - Cruzados novos rsrs).
Enfim. Vou ficando por aqui. Depois implemento melhor este post com figuras e exemplos.
Para um primeiro post tá legal.
Abraços.
Nenhum comentário:
Postar um comentário