Fórum Retirar Zeros a esquerda #287724

12/07/2005

0

Alguém sabe como fazer isso em tempo de execução em um dbgrid.
:( :( :(


Demetrius

Demetrius

Responder

Posts

12/07/2005

Demetrius

Vou complementar,

tenho os seguintes valores em uma coluna do dbgrid: 00000000123, 00000012345 e preciso transforma-los em 123 e 12345.

Alguém sabe?


Responder

Gostei + 0

12/07/2005

Lynx

é só somar +0.

exemplo 000005 +0 = 5; 8)


Responder

Gostei + 0

12/07/2005

Lynx

faz no calcfield da query...


Responder

Gostei + 0

12/07/2005

Demetrius

Você poderia me explicar melhor, é que eu sou meio ogro.

Eu uso SQLClientDataSet + DataSetProvider + ClienteDataSet + DataSource.

Valeu. :lol: :lol: :lol:


Responder

Gostei + 0

12/07/2005

Lynx

assim, eu utilizava o componente interbase.

A Propriedade CalcField da query, faz em tempo de execução tudo.
Você pode modificar qualquer registro que vai listar em seu grid, na propriedade CalcField.

Não tenho nenhum exemplo neste momento...
Mas posso lhe enviar mais tarde.

valeu :wink:


Responder

Gostei + 0

12/07/2005

Demetrius

Ficarei agardando!!!

Obrigado pela atenção.

:D


Responder

Gostei + 0

12/07/2005

Kapak

Se for numérico vc pode colocar uma máscara em TNumericField.DisplayFormat; se for alfa vc pode formatar pelo Canvas no evento onDrawDataCell.


Responder

Gostei + 0

13/07/2005

Demetrius

E como eu faço pelo canvas?
:lol: :lol:
Obrigado.


Responder

Gostei + 0

13/07/2005

Demetrius

Alguém mais pode ajudar???????

:) :) :)


Responder

Gostei + 0

13/07/2005

Kapak

No evento onDrawDataCell:
var s:String;
begin
  if Field.DisplayLabel = ´Campo_Zeros´ then
  begin
    s := Retire_Zeros(Field.AsString); // escreva a função que retira 0s
    DBGrid1.Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+1, s);
  end;
end;



Responder

Gostei + 0

13/07/2005

Demetrius

Não entendi!!

var s:String;
begin
if Field.DisplayLabel = [color=red:ce7e299ba7]´Campo_Zeros´ [/color:ce7e299ba7]then
begin
s := [color=red:ce7e299ba7]Retire_Zeros[/color:ce7e299ba7](Field.AsString); // escreva a função que retira 0s
DBGrid1.Canvas.TextRect(Rect, Rect.Left+2, Rect.Top+1, s);
end;
end;

Eu sou meio Sherek!!!!
:shock: :shock:


Responder

Gostei + 0

13/07/2005

Kapak

1-Substitua ´Campo_Zeros´ pelo nome da coluna que aparece no DBGrid.
2-Escreva uma função que retorne uma string sem os zeros à esquerda.
3-Feito isso, o Canvas do DBGrid desenha a string na célula correspondente.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar