![]() |
Desplazarme por un DBgrid
Hola a tod@s.
Al desplazarme por las filas de un dbgrid, con las flechas o con la barra vertical de desplazamiento, ( no utilizo el navigator), ¿ que evento del Dbgrid debo utilizar para detectar que he cambiado de registro y que cada vez que entre en una fila distinta realize unas determinadas acciones ? Muchas gracias y un saludo |
After o BeforeScroll del Dataset asociado
|
Sale un error
Hola Cadetill,
Utilizando el codigo After o BeforeScroll del Dataset , me sale el error 'Stack overflow' al intentar ejecutar el programa. ¿ Hay otra manera ?, o se puede solucionar el error Un saludo y gracias |
Así, a bote pronto y sin ver el código que haces en ese evento.... la verdad es que no te sabría decir. Anda, ponnos un poquito de código!!! ;)
|
Ahi te va
procedure TForm4.ReparacionAfterScroll(DataSet: TDataSet);
begin leer(); end; procedure Tform4.leer(); var pieza,pedido,linea,codlong: string; Rdo: Variant; begin blanco(); pieza:=D4.columns[5].Field.Value; pedido:=D4.columns[3].Field.Value; linea:=D4.columns[4].Field.Value; codlong:=pedido+linea+'RE'; Rdo:=Reparacion.Locate('Codlargo',codlong,[]); codlarg:=codlong; if Rdo=true Then begin Edit1.Text:=Reparacion.fieldbyname('obs_1').AsString; Edit2.Text:=Reparacion.fieldbyname('obs_2').AsString; Edit3.Text:=Reparacion.fieldbyname('obs_3').AsString; Edit4.Text:=Reparacion.fieldbyname('obs_4').AsString; Edit5.Text:=Reparacion.fieldbyname('obs_5').AsString; end; If rdo=false then showmessage('Avisa a Javier, ha habido un problema'); If Reparacion.fieldbyname('estado').AsString='reparado' then begin DateTimePicker1.Enabled:=True; RadioButton3.Checked:=True; RadioButton4.Checked:=False; DateTimePicker1.Date:=Reparacion.fieldbyname('fechaestado').AsDateTime; end else begin RadioButton3.Checked:=False; RadioButton4.Checked:=True; DateTimePicker1.Date:=date; DateTimePicker1.Enabled:=false; end; Codlong:=pedido+linea+'RE'; codlarg:=codlong; Form4.Height:=360; Bitbtn3.Visible:=False; Bitbtn1.Visible:=True; Panel5.Visible:=false; cargacombo(); end; Esto es todo lo que hay, espero que te pueda servir Saludos |
Solucionado
El problema estaba en el uso de ' Locate ' sobre la misma tabla con la que trabajaba el AfterScroll.
Funciona perfectamente Muchas gracias y un saludo |
La franja horaria es GMT +2. Ahora son las 05:34:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi