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 16: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;