FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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
__________________
La Guerra es una cosa muy seria para confiársela a los militares Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo." |
#2
|
|||
|
|||
After o BeforeScroll del Dataset asociado
|
#3
|
|||
|
|||
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
__________________
La Guerra es una cosa muy seria para confiársela a los militares Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo." |
#4
|
|||
|
|||
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!!!
|
#5
|
|||
|
|||
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
__________________
La Guerra es una cosa muy seria para confiársela a los militares Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo." |
#6
|
|||
|
|||
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 Guerra es una cosa muy seria para confiársela a los militares Si quieres hecer una tarta de manzana partiendo de cero, primero tienes que crear el universo." |
|
|
|