Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Ocultar columnas en un StringGrid (https://www.clubdelphi.com/foros/showthread.php?t=43342)

jzginez 09-05-2007 01:11:00

Ocultar columnas en un StringGrid
 
Hola amigos tengo un StringGrid que se va llenando con datos capturados por el usuario, otros por calculos y algunos obtenidos de alguna tabla, el chiste es que por ejemplo muestro un total con el formato "$ #,##0.00 " y esto StringGrid lo voy a guardar en otra tabla y el campo total es del tipo float así que para evitar el error de conversión en mi StringGrid aumente una calumna mas donde guardo el total sin formato y listo con eso ya puedo guardar los datos en una tabla sin problema, pero ahora lo que intento es que el usuario no pueda ver estas columnas para lo cual no encuentro alguna propiedad que me permita hacer esto, alguien sabe como lo puedo lograr?, algo que intente fue
Código Delphi [-]
procedure TFrmPrincipal.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  If Acol >= 10
    Then StringGrid1.Col:= 1;
end;
Para que al intentar seleccionar la columna que no quiero que vea se valla a la primera comuna pero no obtengo nada

Gracias

egostar 09-05-2007 01:31:37

Hola jzginez y porque no mejor antes de grabar el dato reemplazas los caracteres en una variable.

Puedes hacer algo así:

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
Var
  SinFormato: String;
begin
  SinFormato := '$1,540.00';
  SinFormato := StringReplace(Cadena,'$','',[rfReplaceAll]);
  SinFormato := StringReplace(Cadena,',','',[rfReplaceAll]);
  // Generas lo que quieras con la variable SinFormato.
end;

Salud OS.

gatosoft 09-05-2007 04:14:15

Hola jzginez,

Hace tiempo no experimento con el StringGrid, pero hasta donde recuerdo, puedes accesar a una "fila-columna" cualquiera de este componente aun cuando no sea visible.

Es decir, si tiene definido tu StringGrid de 5 filas por 7 columnas, se creeria que el limite seria:

StringGrid1.Cells[6,4]:='Ultima casilla';

pero la verdad es que podrias realizar la siguiente sentencia (Por ejemplo):

StringGrid1.Cells[8,1]:='Hola';

y el dato quedaria oculto...

jzginez 09-05-2007 17:22:01

Gracias por su respuesta los dos metodos son interesantes probare a ver cual me acomoda mejor ya que tengo diferentes formatos para numeros y fechas.


La franja horaria es GMT +2. Ahora son las 13:46: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