Ver Mensaje Individual
  #4  
Antiguo 20-12-2006
Avatar de rcarrillom
[rcarrillom] rcarrillom is offline
Miembro Premium
 
Registrado: dic 2004
Ubicación: UK / North Sea / Norway / Golfo de México / Frente a mi Laptop
Posts: 219
Reputación: 20
rcarrillom Va por buen camino
Sencillo, ya está hecho en Delphi , usando un componente TActionList, (yo lo uso en mi MainForm para *todos* los DBGrids de mi app):
- En la ventanita de la lista de acciones del TActionList, selecciona la opción "New standard action" del botón New Action y selecciona los TDataSetXXXX que quieras usar.
- Si defines un valor para la propiedad DataSource de los TDataSetXXXX, sólo funcionan con ese en específico, si lo dejas en blanco toman el DataSource del control de BD con el focus, aún si te cambias de ventanas y son diferentes DataSets.
- Enlazalos a un TButton, TMenuItem o cualquier objeto que tenga la propiedad llamada Action.
- Si necesitas llamar una ventana adicional para capturar los campos,
asígnale el evento OnExecute del TDataSetXXXX. Yo creo un procedure en la form MDI y lo asigno dinámicamente en el OnActivate (para Altas y Cambios) y lo pongo a Nil en el OnDeactivate de la misma MDI, para cuando la destruya no mande llamar al código del evento que ya no es válido.
Y eso es todo. Con esto es automático el Enabled/Disabled de los botones, sin código. Y es válido para toda la app.


Déjenme saber si me dí a entender y funciona mi método.
__________________
eLcHiCoTeMiDo - Rompecorazones profesional
Yo no soy presumido; ¿Pero de qué sirve mi humilde opinión contra la de los espejos?
Salva a un nylon, usa prendas de piel de foca
Responder Con Cita