TTfvsDBClientFrameCheckList

De Pragma Wiki
Ir a la navegación Ir a la búsqueda

Descripción

El frame TTfvsDBClientFrameCheckList (Implementa lista para checkboxes) implementa un frame donde podemos editar una lista de líneas, cada una con un checkbox. Toma una clase definida y la transforma a una lista de checkboxes. Necesita tener el frame de edición definido como se muestra en el ejemplo.

Identidad

  • Ancestro: TTfvsDBClientFrame
  • Carpeta: C:\DevelopPrx\frames
  • Archivo: fvsDBClientFrameCheckList.pas

Ejemplo de definición

Pantalla en runtime

Usamos el detalle de CONTABILIDAD/GRUPOS DE CUENTAS como ejemplo, la pantalla se ve de la siguiente manera:

Grupos de cuentas contables.

El detalle usa este frame, la definición de la clase es:

Lista de campos

Columna Campo físico Campo lógico Observaciones
1 FGRUPO Grupo Código de agrupación.
2 FCUENTA Cuenta Código de cuenta asociada a la agrupación.

Definición del frame

Definición del frame.

Solo necesita Instancia 1.

Con estas definiciones el frame transforma la tabla en una lista de checkboxes, marca las que estaban marcadas y finalmente, a pedido del master, arma los registros que hay que aplicar para que la tabla solo contenga los registros que están marcados en la pantalla.

Declaración

type
  TTfvsDBClientFrameCheckList = class(TTfvsDBClientFrame)
    Panel1: TPanel;
    Panel3: TPanel;
    PanelNAVEGADOR: TPanel;
    DBNavigator1: TfvsDBNavigator;
    Panel2: TPanel;
    SpeedButton_OPCIONES: TfvsBotonOpciones;
    prxListaCHECKS: TprxListView;
    procedure DBNavigator1NavigatorClick(Sender: TDBNavigator; aButton: TNavigateBtn; aX, aY: Integer; var aHandled: Boolean);
  private
    FADOField: Tfva_campos_item;

    FCheckedOffImage: Integer;

    FCargarComandosCount: Integer;
    FRefreshing: Boolean;
  protected
    procedure   FieldMessage(var Message: TprxADODataSetMessage); message MSG_PRXADODATASETMESSAGE;
    procedure   CargarComandos;
    procedure   GuardarCambios(Sender: TObject);
    procedure   CancelarCambios(Sender: TObject; var aCloseForm: Boolean);

    property    ADOField: Tfva_campos_item read FADOField write FADOField;
    property    CheckedOffImage: Integer read FCheckedOffImage write FCheckedOffImage;
    property    CargarComandosCount: Integer read FCargarComandosCount write FCargarComandosCount;
    property    Refreshing: Boolean read FRefreshing write FRefreshing;
  public
    procedure   OnFrameShow(Sender: TObject); override;

    procedure   ClassShow_BuildFrame(Sender: TObject); override;
    function    ClassShow_AgregarTablaMaster(aTabla: String): Boolean; override;
    function    ClassShow_AgregarControles: Boolean; override;
    function    ClassShow_Activate(aActivateDataSet: Boolean): Boolean; override;

    procedure   ClassShow_Activate_GetFilterCommands(aDataSet: TprxADODataSetEdit); override;
  end;

Implementación