Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 16
ivantj24 Va por buen camino
Como usar el evento OnDataChange

Que tal bueno disculpen la molestia de preguntar esto, pero es que me han dicho que utilice el evento OnDataChange del DataSource para detectar los cambios que se hacen en algunos edits que tengo, para posteriormente si se realizo algun cambio poder guardarlos, activando los botones de guardar, cancelar etc etc.

mas que nada es para hacer que se activen ciertos botones y que se inhabiliten otros para poder hacer la modificacion si asi se require, pero no tengo idea de como o que escribir en el evento OnDataChance del DataSource.

la idea es que desde un DBGrid al darle doble click se carguen datos en todos los edits que anteriormente hice la insercion, osea que se carguen en el mismo TEdit de donde hice la insercion, esto esta bien , no tengo problemas con esto el detalle es que una vez mostrados en los mismos TEdit, si el usuario hace algun cambio o borra, o agrega alguna letra en los TEdit, me gustaria que se habilitaran los botones Guardar Cambios y Cancelar etc ya que anteriormente estan como inhabilitados, pero no entiendo o no se como hacer para que esto suceda desde el evento OnDataChange, no se que va ahi dentro, ya lo hice con un procedure en donde por medio de parametros me manda un parametro para decidir que hago, como por ejemplo este, pero es con el evento onkeypress de cada Tedit

//Estos son en los eventos OnKeyPress de los Tedit Nombre y el ComboBox
Cita:
procedure TfrmAltaServicio.edtNombreKeyPress(Sender: TObject;
var Key: Char);
begin
EventoOnChange(1);
end;
Cita:
procedure TfrmAltaServicio.ComboBoxServicioCategoriaIDClick(Sender: TObject);
begin
EventoOnChange(1);
end;

//Y dependiendo el parametro que yo envie eso se hara, el principio cuando inicio la forma, todos los botones estan desabilitados con la opcion '2' pero ya con los cambios en los eventos OnKeyPress mando el parametro 1, para que habilite los botones de Aceptar, Cancelar y que inhabilite el boton de Cerrar, por esto no hay problema pero queiro hacer algo asi en el Evento OnDataChange que me dijeron debo usar en el trabajo :S

Cita:
procedure TfrmAltaServicio.EventoOnChange(var1:Integer);
begin
case var1 of
1 : begin
btnAceptar.Enabled:= True;
//btnBorrar.Enabled:= True;
btnCancelar.Enabled:= True;
btnCerrar.Enabled:= False;
end;
2 : begin
btnAceptar.Enabled:= False;
btnBorrar.Enabled:= False;
btnCancelar.Enabled:= False;
btnCerrar.Enabled:= True;
end;
end
end;

Espero puedan darme algunos consejos o decirme como usarlo, si es posible codigo para darme una mejor idea, ya que yo lo hago de esta manera, haciendo un evento, pero quiero poder hacerlo desde el propio evento OnDataChange como menciono, de antemano gracias
Responder Con Cita
  #2  
Antiguo 26-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Tal y como indica su nombre, el evento se activa cada vez que hay un cambio en el dataset asociado (cambias cualquier campo del registro) o cuando se cambia de un registro a otro.
Te aconsejo que en lugar de usar TEdit uses TDBedit, cada uno asociado a un campo, de estas manera el proceso de detectar algún cambio será automático. Prueba a poner un TDBnavigator y verás que puedes aceptar cambios, cancelar, etc. los cambios que hagas en cualquier campo.
Responder Con Cita
  #3  
Antiguo 26-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 16
ivantj24 Va por buen camino
ok pero como relaciono ese evento con los los TBEdits, osea los agrego dentro del evento o que hago, por que no entiendo como hacerle para que los detecte, etc, o solo relacionandolos me los reconoceria?
Responder Con Cita
  #4  
Antiguo 26-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No tienes que hacer nada.
Realmente, mi pregunta es: ¿tú qué quiéres hacer?
Responder Con Cita
  #5  
Antiguo 26-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 16
ivantj24 Va por buen camino
lo que quiero, es que sea en Tedit y no en DBTedit, que al modificar un dato que lo traigo desde un DBGrid, que al cargar los datos el usuario los podra consultar, pero si quiere hacer un cambio en todos los Tedit que le muestro con informacion, que al cambiar algo de lo de adentro, ya por medio del evento OnDataChange que se activen ciertos botones, en un principio los botones estaran inhabilitados, una vez que se muestren los datos dentro de los Tedits, si el usuari ocambia algo, que se habiliten ciertos botones en mi caso seria, Guardar, Cancelar, mientras que Cerrar estara inhabilitado, es por ello que quiero que esos cambios en los Tedit me determinen que boton deben de activarse, pero no se como hacer esto, esto me ayudaria por ejemplo para agilizar mi codigo y no repetirlo para determinar botones de altas, bajas y modificacion, ya que con este evento si los datos son traidos desde un DBGrid podre habilitar ciertos botones, pero si es una primera insercion sera otros botones, etc no se si me entiendas por eso quiero saber como funcionaria con Tedits y con DataSource
Responder Con Cita
  #6  
Antiguo 26-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.670
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Pues entonces no entiendo por qué quieres usar TEdit, con los TDBedit todo ese proceso que mencionas se hace automáticamente, no tienes que hacer nada.
De la forma que quieres hacerlo tú tendrías que estar copiando todos los valores de todos los campos del registro activo a tus TEdit, y cuando modifiques cualquiera de ellos tendrías que volver a modificar los campos del registro, o sea, es un poco lioso, engorroso y propicio a fallos, olvidos, etc.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
que evento usar? eltioalex Varios 4 03-07-2010 03:53:58
¿Cómo usar las teclas F12 etc,y las teclas de dirección o flechas con el evento key? Master23 OOP 1 03-04-2010 17:08:50
Interceptar [Prior,Next] al evento OnDataChange geolife Conexión con bases de datos 4 23-03-2009 18:08:00
Usar Evento OnAfterSCroll de un TQuery? jorllazo Conexión con bases de datos 12 04-10-2006 05:56:48
Cómo desactivar el evento OnDataChange? carlosmari Varios 4 27-10-2003 19:43:00


La franja horaria es GMT +2. Ahora son las 00:02:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi