[Lazarus-es] Error al actualizar

Maxi maximiliano.duarte en gmail.com
Lun Mar 22 18:47:08 CET 2010


El día 22 de marzo de 2010 13:25, Ismael L. Donis García
<ismael en citricos.co.cu> escribió:
> 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
>
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>


insmael, tenes que usar alguno de estos eventos: onvalidate,ongettext
onsettext del campo o, con ellos vas a saber que esta haciendo el
usuario sobre el campo antes de que llegue a la tabla.
La unidad que queres usar es de la componente dbgrid, y no le vas a
poder dar mucho uso.-


-- 
Maximiliano Duarte
Linux User #495070
Ubuntu User #28504

Tolerancia significa disculpar los defectos de los demás; tacto, no
reparar en ellos.




More information about the Lazarus-es mailing list