[Lazarus-es] Uso de TSQLQuery y TDBGrid

JoshyFun joshyfun en gmail.com
Mie Mar 3 17:53:38 CET 2010


Hello Ismael,

Monday, March 1, 2010, 8:00:01 PM, you wrote:

ILDG> Muchas gracias, me has dado un pequeño empujón, ya que ahora si entra en
ILDG> modo edición, pero no inserta nada aun en la tabla, se de hecho que tengo
ILDG> que agregar código.
ILDG> Ahora tengo 2 dudas más:
ILDG> 1.- Como le introduzco valores a una columna dada por código?
ILDG> Por ejemplo algo como esto:
ILDG> dbgum.Columns[1].Text:=dtm.strentidad;

Los valores se los tienes que dar al registro, cuando se actualizan en
el registro aparecen en el dbgrid (o deberían).

ILDG> Estoy tratando de hacer:
ILDG> procedure Tfrmum.rsumBeforeInsert(DataSet: TDataSet);
ILDG> begin
ILDG>   dbgum.Columns[1].Text:=dtm.strentidad;
ILDG>   rsum.Params.ParamByName('sEntidad').AsString:=dtm.strentidad;
ILDG>  
ILDG> rsum.Params.ParamByName('sUm').AsString:=dbgum.Columns[0].Text;
ILDG> end;

rsum.edit;
rsum.parambyname.......
rsum.post;

Ahora deberías ver el registro actualizado en el dbgrid.

ILDG> 2.- No se me está disparando en evento OnKeyPress del TDBGrid, será esto un
ILDG> problema de Lazarus?. Como resolver tal problema?
ILDG> procedure Tfrmum.dbgumKeyPress(Sender: TObject; var Key: char);
ILDG> begin
ILDG>   if Key = #13 then
ILDG>     cmdcerrar.SetFocus;
ILDG> end;

Es un bug del dbgrid con la tecla enter, para solventarlo al menos
temporalmente comprueba la tecla en el onkeyup, y creo que no tendrás
problema. Ojo, onkeyup diferencia entre enter e intro.

ILDG> Eso es solo una prueba porque aun me falta una línea donde pregunte si la
ILDG> primera columna está vacía, que más bien esa sería la tercer duda.

No entiendo la pregunta.

-- 
Best regards,
 JoshyFun





More information about the Lazarus-es mailing list