Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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.702
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
  #2  
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
  #3  
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.702
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
  #4  
Antiguo 26-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 16
ivantj24 Va por buen camino
:S:S:S lo que pasa es que soy nuevo en Delphi, bueno relativamente, apenas llevo 2 meses y contando, y estoy a prueba y error, y la unica forma que miraba y conocia era esa, lo que si trate es que no puedo editar los DBEdit, ya que por su propiedad Datafield agrego al campo al que este asignado, y si lo muestra y todo pero no se, no me permite editarlo, no se si hay que poner algo en modo de edicion o que hacer, para permitir escribir y habilitar el boton de Guardar para que guarde todos los datos.
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
Si es posible que alguien me pueda mostrar una parte de como usan el evento OnDataChange del DataSource, para darme una idea ya que veo que no me entienden, espero me puedan ayudar con esto, que no es nad complicado pero que si me permitiria ahorrar codigo y mantener la idea que tengo ya que me pidieron usara ese evento, el cual como les decia no se como utilizarlo con Tedits, para que disparara ciertos procedimientos que quiero llevar acabo, com olo es el habilitar ciertos botones que yo tenga, etc etc, gracias
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.702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Creo que no has informado de qué base de datos estás usando, qué componentes, etc.
Responder Con Cita
  #7  
Antiguo 28-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 16
ivantj24 Va por buen camino
Componentes ADO para la conexion a BD, Base de Datos SQLServer.

y me explico mas detenidamente. paso por paso a ver si me entienden lo que quiero hacer, y como usar ese evento el OnDataChange en el DataSource.

Tendria 5 Botones: Nuevo, Guardar, GuardarModificacion, Limpiar, Cancelar y Cerrar.

1.- Capturo 2 campos de una tabla, Nombre y Apellido desde 2 Tedit respectivamente, con un boton de Nuevo.(Aqui solo el boton de GuardarModificacion esta inhabilitado, todos los demas estan Habilitados), cuando termine en el boton, Guardar, al terminar el registro se inhabilitaran todos los botones, menos el de Nuevo

1.- (Mientras consulta en el Grid los botones estan desabilitados) Desde un DBGrid en donde muestran todos los usuarios, con sus campos, Nombre y Apellido, selecciono uno dando doble click, permitiendo que la informacion se regrese a los TEdits en donde fue capturado. ya una vez mostrada la informacion de la persona seleccionada, si el usuario borra, edita cualquier registro que fue mostrado como el Nombre o Apellido, quiero que se activen los botones, GuardarModificacion, Cancelar, y que se inhabiliten Nuevo, Close, Limpiar y Guardar.

Esta es mi idea, es mi principal idea para que funcione el evento OnDataChange, activando botones como mencione anteriormente segun sea el caso, el cual sera activado cuando exista una modificacion en los registros que se muestran el los TEdit, espero que ahora si me entiendan, por que no se como o que poner de codigo en el OnDataChange y como repetia, no uso los DBEdits, ya que mi proyecto lo llevo algo avanzado y me pidieron que para ahorrar dolores de cabeza y codigo habilitara ese Evento del DataSource, pero como repito, si me pudieran dar un ejemplo que seguro alguien ya tiene algo parecido, para darme una idea, por que no se ni como llevarlo acabo
Responder Con Cita
  #8  
Antiguo 29-03-2011
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 20
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por ivantj24 Ver Mensaje
:S:S:S lo que pasa es que soy nuevo en Delphi, bueno relativamente, apenas llevo 2 meses y contando, y estoy a prueba y error, y la unica forma que miraba y conocia era esa, lo que si trate es que no puedo editar los DBEdit, ya que por su propiedad Datafield agrego al campo al que este asignado, y si lo muestra y todo pero no se, no me permite editarlo, no se si hay que poner algo en modo de edicion o que hacer, para permitir escribir y habilitar el boton de Guardar para que guarde todos los datos.
Para poder editar los DBEdit debes de poner al DataSet en cuestion, en modo de edicion: por ejemplo:
Código Delphi [-]
DBEdit1.DataSource.DataSet.Edit;//Pongo el dataSet en modo de edicion
En tu boton Aceptar (boton que confirma el cambio o la edicion) deberias tener algo así:
Código Delphi [-]
DBEdit1.DataSource.DataSet.Post;//confirmo el cambio y guardo los registros cambiados..
Si lo deseas puedes utilizar un componente DBNavigator en lugar de tener botones como Aceptar,editar,insertar, eliminar,Cancelar,refrescar; ya que el componente DBNavigator ya posee tales botones, inclusive posee los botones de navegacion por los registros del DataSet, tales como Primero(va al primer registro), Anterior(se pocisiona en el anterior registro del que estamos actualmente), Siguiente(se pocisiona en el siguiente registro del que estamos actualmente) y Ultimo(Va al último registro), tal solo hay que enganchar nuestro componente DBNavigator con el DataSource específico.. Lo bueno de ésto es que el componente DBNavigator lo hace todo automáticamente y no necesitamos codificar nada..., inclusive se lo puede configurar para mostrar solo algunos botones...
Como puedes ver con delphi es muy sencillo...ya que posee componentes muy potentes y específico para aplicaciones de Bases de datos sin necesidad de complicarte demasiado..
Espero sea de utilidad...
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7

Última edición por rgstuamigo fecha: 29-03-2011 a las 15:49:36.
Responder Con Cita
  #9  
Antiguo 29-03-2011
ivantj24 ivantj24 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 110
Poder: 16
ivantj24 Va por buen camino
Disculpen de nuevo la molestia pero no me logra salir de esto, tuve que cambiar todos los TEdits por DBEdits para permitir percibir el cambio que en ello sse genere para que el DataSource pudiera realizar los cambios de estado en si, pero no me sale, lo que primero quiero hacer es:

como trabajo como ventanas MDI

1.- que al abrir una ventana, el DataSource de esa ventana se ponga en estado Edit o Inactivo, lo que sea, como me pasaron todos los estado y en ayudas tambien estan, intente poner esto,

Cita:
procedure TfrmPrincipal.AltadeEstacion1Click(Sender: TObject);
begin
Application.CreateForm(TfrmEstacion, frmEstacion);
frmEstacion.DataSourceEstacion.State:= dsInactive;
frmEstacion.Show;
end;
en esta linea en negrita que marco se que existe un error pero no me explico por que,
bueno esto es solo al querer poner en un estado el DataSource, mientras que en el DataSource en su evento OnDataChange para que me detecte los cambios pongo condiciones para que al percibir varios estados del DataSource vaya habilitando o no los botones

Cita:
procedure TfrmEstacion.DataSourceEstacionDataChange(Sender: TObject;
Field: TField);
begin
if DataSourceEstacion.State = dsInsert then
begin
btnAceptar1.Enabled:= True;
//Todos los botones que inhabilito y habilito
end
end;
Pero no entiendo como es posible darle un estado al DataSource desde fuera, ya que como les decia si uso
Cita:
DataSourceEstacion.State:= dsInsert;
no me permite hacerlo, o con cualquier otro estado, no lo puedo poner en ese modo de Edicion, asi que no lo puedo hacer, espero alguien me explique, ahora mismo estoy buscando por la web alguna solucion pero no he encontrado, espero me ayuden con esto, gracias
Responder Con Cita
  #10  
Antiguo 30-03-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Tienes confundido los conceptos, fíjate en los ejemplos que ha puesto rgstuamigo.
Si quieres editar haces:
Código Delphi [-]
datasource.dataset.edit;
Si quieres insertar un registro:
Código Delphi [-]
datasource.dataset.append;
si quieres no hacer nada:
Código Delphi [-]
datasource.dataset.cancel;
El estado se pone automáticamente, no tienes que ponerlo tú.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 17:13:31.


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