Página 1 de 1

COLUMNCONTROLS - Usando valores com ponto decimal

Enviado: 27 Out 2016 09:34
por NiltonGM
Bom dia senhores(as) do fórum Harbour On Line, ou seria Clipper?!... difícil esquecer esse nome 'Clipper'... rs

Usando GRID, ao atribuir em uma coluna um valor numérico formatado (máscaras), ao resgatar esse valor o conteúdo se perde por causa da máscara. Explico:

Código: Selecionar todos

// Na propriedade COLUMNCONTROLS é atribuido a mascara "@E 999,999.99" onde será mostrado na grade a troca do ponto decimal por vírgula e a vírgula do milhar por ponto
COLUMNCONTROLS { 'TEXTBOX', {'TEXTBOX','NUMERIC','@E 999,999.99'} }
nVal := 102.57
ADD ITEM { 'Testo Coluna 1', nVal } TO Grid_Teste1 OF Main
// Até aqui beleza, é mostrado na grade o valor 102,57 (Com a vírgula decimal)
nVal2 := Main.Grid_Teste1.CellEx(1,2)  // Resgata o valor que está na grade para uma variável numérica
// nVal2 retorna 10257 e não 102.57  -- loucura, loucura, loucura
Tive que deixar a máscara sem o formato europeu "@E': COLUMNCONTROLS { 'TEXTBOX', {'TEXTBOX','NUMERIC','999,999.99'} }

Código: Selecionar todos

COLUMNCONTROLS { 'TEXTBOX', {'TEXTBOX','NUMERIC','999,999.99'} }
nVal := 102.57
ADD ITEM { 'Testo Coluna 1', nVal } TO Grid_Teste1 OF Main
// Aqui é mostrado na grade o valor 102.57 (Com ponto decimal e não a vírgula)
nVal2 := Main.Grid_Teste1.CellEx(1,2)  // Resgata o valor que está na grade para uma variável numérica
// nVal2 retorna 102.57  -- aí funciona.