TTfvsDBClientFrameGridConsultas
Descripción
El frame TTfvsDBClientFrameGridConsultas (Implementa grilla para consultas) implementa todo lo necesario para armar y procesar las consultas definidas en la categoría Consultas.
En diseño tiene casi el mismo aspecto que su ancestro, pero agrega un botón de Refrescar para actualizar los datos de la grilla.

Las consultas no usan el panel de criterios de búsqueda ya que sus argumentos son los que definen el resultado.
Identidad
- Ancestro: TTfvsDBClientFrame
- Carpeta: C:\DevelopPrx\frames
- Archivo: fvsDBClientFrameGridConsultas.pas
Declaración
type TTfvsDBClientFrameGridConsultas = class(TTfvsDBClientFrameGridCustom) prxScrollBoxCRITERIOS: TprxScrollBox; ButtonREFRESCAR: TButton; TimerREFRESCO: TTimer; StatusBar1: TStatusBar; procedure TimerREFRESCOTimer(Sender: TObject); procedure SQLEjecutar(Sender: TObject); procedure DBNavigatorCONTENIDONavigatorClick(Sender: TDBNavigator; aButton: TNavigateBtn; aX, aY: Integer; var aHandled: Boolean); procedure fvsDBGridResultadoGetPopupOptions(Sender: TComponent; aPopupMenu: TprxPopupMenu); procedure prxADODataSetEdit1ppOnShowFieldHint(Sender: TprxADODataSet; aCampo, aAtributo: String; aEnteros, aDecimales: Integer; aRequerido: Boolean; aIndicaciones: String; aConstraint: String); private FSentenciaList: TStringList; FQueryRESULTADO: TprxADOQuery; FDataSourceRESULTADO: TDataSource; FSQL_Criterios: String; FCriteriosForm: TTprxCriteriosConsultasForm; protected procedure SetDataSet(aValue: TprxADODataSetEdit); override; function UsaCRITERIOSFlag: Boolean; override; procedure ArmarConsulta; procedure AbrirFormCriterios(Sender: TObject); property SentenciaList: TStringList read FSentenciaList write FSentenciaList; property QueryRESULTADO: TprxADOQuery read FQueryRESULTADO write FQueryRESULTADO; property DataSourceRESULTADO: TDataSource read FDataSourceRESULTADO write FDataSourceRESULTADO; property SQL_Criterios: String read FSQL_Criterios write FSQL_Criterios; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure OnFrameShow(Sender: TObject); override; function AgregarControles(aDataSet: TprxADODataSetEdit; aTableName: String): Integer; 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 Relaciones_GetIds(aField: String; aList: TStringList); function Argumentos: String; property CriteriosForm: TTprxCriteriosConsultasForm read FCriteriosForm write FCriteriosForm; end;
Implementación
Implementa una respuesta al botón de refresco que hace un refresco del dataset que a su vez actualiza el contenido de la grilla:
if aButton = nbRefresh then begin SQLEjecutar(Sender); fvsDBGridResultado.WidthJustify; aHandled := True; end;
procedure OnFrameShow(Sender: TObject)
Oculta algunos botones del navegador ya que al ser una consulta no requiere operaciones de edición, los botones son:
- nbInsert inserción de registros.
- nbDelete eliminado de registros.
- nbEdit edición de registros.
- nbPost posteo de registros.
- nbCancel cancelar una operación en curso.
Arma a consulta usando la función ArmarConsulta.
Si la consulta no usa argumentos entonces llama directamente al refresco.
procedure prxADODataSetEdit1ppOnShowFieldHint(Sender: TprxADODataSet; aCampo, aAtributo: String; aEnteros, aDecimales: Integer; aRequerido: Boolean; aIndicaciones: String; aConstraint: String)
Muestra las indicaciones del campo en el StatusBar.