[Lazarus-es] Error al actualizar
José Mejuto
joshyfun en gmail.com
Mie Mar 17 00:29:11 CET 2010
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é
More information about the Lazarus-es
mailing list