Ver Mensaje Individual
  #1  
Antiguo 25-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Reputación: 14
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