Diferencia entre revisiones de «TTfvsDBClientFrameCheckList»
Sin resumen de edición |
Sin resumen de edición |
||
| Línea 34: | Línea 34: | ||
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. | 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= | |||
<pre> | |||
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; | |||
</pre> | |||
=Implementación= | |||
Revisión del 15:54 3 jun 2025
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:

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

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;