Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-04-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
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.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #2  
Antiguo 02-04-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿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
Responder Con Cita
  #3  
Antiguo 02-04-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
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?
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 02-04-2009
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
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

Código Delphi [-]
LaAcción.Enabled := ElDataSet.State in dsEditModes;

// Saludos
Responder Con Cita
  #5  
Antiguo 02-04-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Gracia román.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
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
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


La franja horaria es GMT +2. Ahora son las 18:45:53.


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