FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Comportamiento extraño del TPageControl
Hola programadores Delphianos. Vengo con una duda que me desconcierta. Estoy desarrollando en D2009 un protótipo de GUI y el siguiente problema es el siguiente:
Tengo dos tablas, las clásica: Una maestro y otra de detalles. En la primera página o hoja tengo controles de edición (TDBEdit's) solo para los datos de la tabla maestra, y en la segunda página controles exclusivos para la tabla de detalles. En la segunda página no aparece ningún control que esté relacionado a la tabla maestra. Hasta ahí todo normal. Fuera del PageControl, tengo unos botones que están relacionados a algunas TDBActions que están relacionadas a la tabla maestra. Uno de los botones para la acción de Post o Cancel, otro para Insert y así sucesivamente. Lo que sucede es que cuando la primera página del PageControl está activada, los controles se activan normalmente. Cuando activo la segunda página, la de la tabla de detalles, todas las TDBActions que están relacionadas a la tabla maestra se deshabilitan automáticamente, volviendose a habilitar cuando regreso a la primera página. Este es un corportamiento muy peculiar y no entiendo que es lo que está sucediendo. PD.: Entiendo que algunas acciones, como Post o Cancel se deshabilitan normalmente cuando la tabla relacionada no está en modo de edición. Sin embargo, aún estando en modo de edición, las acciones se deshabilidan al pasarme a la segunda página o hoja. Saludos. Espero que me puedan aclarar sobre esto, si esto es normal o es alguna configuración especial que tengo que modificar. De antemano, gracias. |
#2
|
||||
|
||||
¿Estás usando Standard Actions? Porque estas acciones hacen "magia" para determinar el destino o target de la acción y al parecer basan esta "magia" en los controles de edición y no en el datasource o dataset presentes (quita todos los controles DBEdit y verás que la acción siempre está inhabilitada independientemente de la página del PageControl), de manera que -supongo- al no haber controles de edición visibles, determinan que la acción debe inhabilitarse.
Lo que puedes hacer es utilizar el evento OnUpdate de la acción para que determines tú mismo cuándo inhabilitar/habilitar la acción. // Saludos |
#3
|
||||
|
||||
Gracias Román por la info. Así es, estoy utilizando los Standard Actions. Provaré a ver que sucede. Me supongo que en el evento OnUpdate debo ingresar el Esta_Action.Enable := True; ¿Es correcta mi suposición?
|
#4
|
||||
|
||||
Así es, aunque yo pondría algo que me permita discernir si se habilita o inhabilita la acción. Por ejemplo, para la acción de POST yo pondría algo como
// Saludos |
#5
|
||||
|
||||
Gracia román.
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
comportamiento extraño ClientDataSet con DBX | TrUnkS | Conexión con bases de datos | 6 | 31-03-2009 01:50:28 |
Extraño comportamiento de delphi 7 | smessina | Varios | 5 | 18-03-2008 12:50:54 |
Comportamiento extraño de DisplayFormat | Thales | Conexión con bases de datos | 0 | 02-12-2005 21:56:32 |
Un comportamiento extraño en delphi... | uper | Varios | 1 | 07-08-2004 00:44:14 |
Comportamiento extraño con InnoBD | brandolin | MySQL | 0 | 20-10-2003 14:34:09 |
|