Formartar gridColum no Laszlo

6 respostas
R

Olá,

No grid quando recupero o valor do xml no datapath, ao invés de somente mostrar para o usuário o valor como ele vem do banco, eu gostaria de formatar o valor, como por exemplo:

Mostro no grid um campo float, o valor vem assim: “1500.0”
eu tenho um método que formata este valor e mostra assim: “1.500.00”

Então gostaria de saber como fazer isto.

Desde já agradeço a atenção

6 Respostas

G

Acho que você pode utilizar o evento oninit e formatar os dados com JavaScipt. Por exemplo, ao carregar uma Window eu formato a data da seguinte forma:

<method event="oninit">
			<![CDATA[
				var hoje = new Date();

				var dia = hoje.getDate();
				var mes = hoje.getMonth() + 1;
				var ano = hoje.getFullYear();

				var data = dia + "/" + mes + "/" + ano;
				this.diaText.setAttribute("text", data);
			]]>
</method>

Espero que te ajude em algo!

R

Pois é Guilherme, tentei fazer algo parecido, mas como eu pego o valor do datapath?
De uma olhada no código que eu fiz:
Em nenhuma das opções eu concegui resolver o problema

<gridcolumn width="100" fontstyle="bold">
	Saldo da Conta
	<text datapath="@saldo" ondblclick="classroot.alterar()">
                         <method event="oninit"> 
                                 <![CDATA[ 
                                            Debug.write(this.datapath); 
                                            Debug.write(this.datapath.data);   
                                            Debug.write(this.datapath.xpath);    
                                            Debug.write(this.datapath.xpath.data);  
                                            Debug.write(this.datapath.xpath.data());  
                                            Debug.write(this.datapath.xpath.data));                                  
                                     
                                   ]]> 
                          </method>

</gridcolumn>
R

Alguém mais poderia me sugerir outra solução

R

Bom dia Pessoal,

Ainda não consegui resolver o meu problema, será que alguém tem como me ajudar…

T

kra tenta fazer assim, tem uma propriedade datatype=“number” coloca ela no gridcolumn

<gridcolumn width="90" text="Total" datatype="number">
					<view width="${ parent.width }">
						<text x="${parent.parent.width - (this.getTextWidth()+10)}" y="3" datapath="@valorTotal"/>
					</view>
	        	</gridcolumn>
R

Bom pessoal, só para esclarecer que eu consegui resolver o problema, vou postar o código da solução:

<!-- Evento executado sempre no retorno de dados do servidor PARA FORMATAR O GRID -->
		<method event="ondata" reference="dsSearchCompra">
			<![CDATA[
				   var lista = dsSearchCompra.getFirstChild().getFirstChild();			                   
				    for( var i=0; i< lista.childNodes.length; i++){	
					//************ FORMATA O VALOR FLOAT **************
					//formatFloatSet é uma função para formatar valores float					
					lista.childNodes[i].setAttr('vlCompra', canvas.formatFloatSet(lista.childNodes[i].getAttr('vlCompra')));				
					
					//************ FORMATA O VALOR DATA **************
					// Mostra somente dd/mm/yyyy e retira a data					
					lista.childNodes[i].setAttr('dtCompra', lista.childNodes[i].getAttr('dtCompra').substring(0,10));
				
				}			          
	        	    ]]> 
		</method>
Criado 14 de dezembro de 2006
Ultima resposta 29 de dez. de 2006
Respostas 6
Participantes 3