Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Simular MaxLengh en celda stringgrid (https://www.clubdelphi.com/foros/showthread.php?t=64018)

voldemmor 12-03-2009 16:54:19

Simular MaxLengh en celda stringgrid
 
Hola amugos no se si me explico deseo simular la propiedad MaxLeng(maximo de caracteres) pero para una columna dada.

se que puedo saber que columna es mediante StringGrid1.Col

Gracias por todo

AFilth 12-03-2009 17:20:56

En el evento OnChange de la celda puedes cmprobar el length de la cadena que te están metiendo y validarla.

roman 12-03-2009 17:49:36

Las celdas de un StringGrid no tienen eventos :confused:

-------------------------------------------------------

La clase TCustomGrid (de la cual deriva TStringGrid) tiene el método GetEditLimit que sirve para establecer la longitud máxima del InPlaceEditor -el TEdit que se usa conforme nos movemos por las celdas.

Tendrías que redefinir ese método en un derivado de TStringGrid. Una manera fácil de hacerlo sin tener que crear e instalar un nuevo componente es declarando un descendiente homónimo antes de la declaración del formulario:

Código Delphi [-]
type
  TStringGrid = class(Grids.TStringGrid)
  protected
    function GetEditLimit: Integer; override;
  end;

  TForm1 = class(TForm)
     ...
  end;

Y defines el método así (por ejemplo):

Código Delphi [-]
function TStringGrid.GetEditLimit: Integer;
begin
  if Col = 1 then
    Result := 5
  else
    Result := 0;
end;

// Saludos

voldemmor 13-03-2009 14:42:32

a probarlo
 
Voy a probar la opcion que medas roman muchas gracias por todo.
Espero no me surjan problemas.


La franja horaria es GMT +2. Ahora son las 06:48:57.

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