[Lazarus-es] Error al actualizar

Ismael L. Donis García ismael en citricos.co.cu
Lun Mar 22 17:25:34 CET 2010


José que Unit tengo que poner en uso para la definición:
var
  MyEditor: TStringCellEditor;

Me da el siguiente error:

ufrmum.pas(44,30) Error: Identifier not found "TStringCellEditor"

Gracias reiteradas
=========
|| ISMAEL ||
=========
----- Original Message ----- 
From: "José Mejuto" <joshyfun en gmail.com>
To: "Spanish version of Lazarus List" 
<lazarus-es en lists.lazarus.freepascal.org>
Sent: Tuesday, March 16, 2010 6:29 PM
Subject: Re: [Lazarus-es] Error al actualizar


Hello Ismael,

Tuesday, March 16, 2010, 11:01:40 PM, you wrote:

ILDG> Ahora lo que tengo pendiente es solo ver puedo obtener el valor de una 
celda
ILDG> al presionar enter dentro de un tdbgrid en el evento KeyDown?

El problema que hay con esto es que no sabes que celda estás editando,
en el keydown puedes saber que fila estás editanto consultando el
dataset, pero no que columna.

Si eso te da igual y es un campo de texto se haría así, suministrando
un editor de datos propio en vez del que crea el grid por defecto.

var
  MyEditor: TStringCellEditor;

[..........]

procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: 
TShiftState);
var
  s: string;
begin
  if Key=VK_RETURN then begin
    if Assigned(MyEditor) then S:=MyEditor.Text;
    //S contiene el valor editado antes del post.
  end;
end;

procedure TForm1.DBGrid1SelectEditor(Sender: TObject; Column: TColumn; var 
Editor: TWinControl);
begin
  if MyEditor=nil then begin
    MyEditor:=TStringCellEditor.Create(DBGrid1);
  end;
  if Column.Index=1 then begin //Columna que interesa
    Editor:=MyEditor;
  end;
end;



-- 
Best regards,
 José


_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es






More information about the Lazarus-es mailing list