Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Formateo de datos númericos dentro de un StringGrid (https://www.clubdelphi.com/foros/showthread.php?t=702)

REDCOM 22-05-2003 01:00:31

Formateo de datos númericos dentro de un StringGrid
 
Saludos:

Qusiera por favor me auxiliaran con el siguiente problema:

Estoy utilizando un stringGrid en una aplicación, el cual debe mostrar datos númericos, por ejemplo:

_____125.30
____1250.75
_______1.32

El problema es que cuando se tratan de formatear para que se muestren en el grid, estos aparecen asi:

____125.30
____1250.75
_____1.32

Es decir que no aparecen alineados verticalmente.

Mucho agradeceria si alguien tiene idea de como formateralos

pedrohdez 22-05-2003 09:37:16

Hola Redcon,

eso te pasa, probablemente, por que estas rellenando con espacioa a la izquierda y un espacio no ocupa lo mismo que un numero, tienes dos soluciones, usar tipo de letra de tamaño ficjo (fixed) o 'pintar' la celda a mano, yo uso esto en un TStringGrid.OnDrawCell
Cita:

tmp:= Rect.Right-MiGrid.Canvas.TextWidth(Numero.asString)-2;
MiGrid.Canvas.TextRect(Rect,tmp,Rect.Top+2,Numero.asString);
saludos,

REDCOM 23-05-2003 06:24:05

Hola PedorHdez.

Gracias por tu colaboracion la aprecio mucho.

Tambien encontre esta forma de formatear los datos en la
stringgrid.

Dentro del DrawCell

if ACol=3 then // voy a alinear a la derecha la 3ª columna
if ARow>0 then //No quiero alinear la línea de títulos
with StringGrid1 do
begin
Canvas.FillRect(Rect);
Settextcolor(Canvas.handle,clGreen); // presentalo en verde
DrawText(Canvas.Handle,PChar(Cells[Acol,ARow]),-1,Rect,DT_RIGHT or DT_SINGLELINE); // justifica a la derecha
Settextcolor(Canvas.handle,clBlack); // restaura el normal
end;

Gracias y espero colaborar contigo posteriormente.


La franja horaria es GMT +2. Ahora son las 13:53:15.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi