Diferencia entre revisiones de «TfvsDBGrid»
Sin resumen de edición |
|||
(No se muestra una edición intermedia del mismo usuario) | |||
Línea 172: | Línea 172: | ||
[[Archivo:20250526 1835 PROPIEDADES DE COLUMNAS.png|miniaturadeimagen|no|Propiedades de columnas.]] | [[Archivo:20250526 1835 PROPIEDADES DE COLUMNAS.png|miniaturadeimagen|no|Propiedades de columnas.]] | ||
Usa el form [[TTfvsDBGridColumnasForm|Form para ordenar columnas de una grilla (TTfvsDBGridColumnasForm)]]. | |||
===procedure PropiedadesColumnasCargar=== | ===procedure PropiedadesColumnasCargar=== | ||
Carga las propiedades de las columnas para mostrar en la pantalla del punto anterior. | Carga las propiedades de las columnas para mostrar en la pantalla del punto anterior. |
Revisión actual - 01:55 27 may 2025
Descripción
El objeto TfvsDBGrid (Grilla para mostrar registros de una tabla.) es la grilla usada para mostrar registros de un dataset.

Identidad
- Ancestro: TDBGrid
- Carpeta: C:\DevelopPrx\library
- Archivo: fvsDBGrid
Declaración
type TfvsOnGetPopupOptions = procedure (Sender: TComponent; aPopupMenu: TprxPopupMenu) of object; const TfvsDBGrid_BackgroundColor = clWindow; type THackDBGrid=class(TDBGrid); type TfvsDBGrid = class(TDBGrid) private FColumnasOrden: TStringList; FRowSelect: Boolean; FImages: TImageList; FQuery: TprxADOQuery; FNavigateIndex: Integer; FNavigateCount: Integer; FColumnMovedFlag: Boolean; FOnGetPopupOptions: TfvsOnGetPopupOptions; FCheckBox: TDBCheckBox; FPropiedadesColumnasFlag: Boolean; FFiltroIncremental_Option: TprxADODataSet_Options_FiltroIncremental; FFiltroQBE_Option: TprxADODataSet_Options_FiltroQBE; FBackgroundColor: TColor; FPanelTotals: TPanel; FColumns_Totals: TfvsDBGrid_Column_Totals; FF9_Call: TNotifyEvent; protected property CheckBox: TDBCheckBox read FCheckBox write FCheckBox; procedure SetImages(aValue: TImageList); virtual; procedure LocalColumnMoved(Sender: TObject; FromIndex, ToIndex: Integer); procedure Local_DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); procedure ColumnOrderClick(Column: TColumn); procedure OnPopupXtd(Sender: TObject); virtual; procedure EventoNulo(Sender: TObject); property Query: TprxADOQuery read FQuery write FQuery; procedure FieldMessage(var Message: TprxADODataSetMessage); message MSG_PRXADODATASETMESSAGE; procedure PropiedadesDeColumnasClick(Sender: TObject); property ColumnMovedFlag: Boolean read FColumnMovedFlag write FColumnMovedFlag; property PropiedadesColumnasFlag: Boolean read FPropiedadesColumnasFlag write FPropiedadesColumnasFlag; property FiltroIncremental_Option: TprxADODataSet_Options_FiltroIncremental read FFiltroIncremental_Option write FFiltroIncremental_Option; property FiltroQBE_Option: TprxADODataSet_Options_FiltroQBE read FFiltroQBE_Option write FFiltroQBE_Option; property BackgroundColor: TColor read FBackgroundColor write FBackgroundColor; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure Loaded; override; function DataSetId: String; procedure WidthJustify(aResetFilter: Boolean = False); procedure LocalOnKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); virtual; function SelectedColumn: TColumn; property RowSelect: Boolean read FRowSelect write FRowSelect; procedure ForzarColumnOrderClick(aTexto: String); procedure ColumnOrderReset; procedure ColumnOrderApply(Sender: TObject); procedure PropiedadesColumnasCargar; function SelectedRowsCount: Integer; procedure NavigateRecords(aCall: TprxNotifyEventWithContinue); procedure NavigateRecordsSelected(aCall: TprxNotifyEventWithContinue); procedure NavigateRecordsAll(aCall: TprxNotifyEventWithContinue); function NavigateRecordCount: Integer; property ColumnasOrden: TStringList read FColumnasOrden write FColumnasOrden; property NavigateIndex: Integer read FNavigateIndex write FNavigateIndex; property NavigateCount: Integer read FNavigateCount write FNavigateCount; procedure WMHScroll(var Msg: TWMHScroll); message WM_HSCROLL; property PanelTotals: TPanel read FPanelTotals write FPanelTotals; property Columns_Totals: TfvsDBGrid_Column_Totals read FColumns_Totals write FColumns_Totals; property F9_Call: TNotifyEvent read FF9_Call write FF9_Call; procedure SelectAll; procedure SelectNone; published property Images: TImageList read FImages write SetImages; property OnGetPopupOptions: TfvsOnGetPopupOptions read FOnGetPopupOptions write FOnGetPopupOptions; end;
Implementación
procedure WidthJustify(aResetFilter: Boolean = False)
Ajusta el ancho de las columnas a algo más prolijo que las opciones por defecto, considera el tipo de columna y su ancho.
procedure LocalOnKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState)
Administra las teclas presionadas dentro de la grilla, procesa las siguientes:
- Key = VK_F1 (tecla F1) abre el filtrado incremental TprxADODataSet_Options_FiltroIncremental.
- Key = VK_F7 (tecla F7) abre el filtrado "usando el ejemplo" (query by example) TprxADODataSet_Options_FiltroQBE.
procedure ForzarColumnOrderClick(aTexto: String)
Dado un texto del tipo "nombrecolumna ASC o DESC" fuerza el ordenamiento de la grilla.
procedure ColumnOrderClick(Column: TColumn)
Agrega una columna al ordenamiento de los registros, el orden es aplicación es ASC, DESC, nulo.
procedure ColumnOrderReset
Resetea el ordenamiento de la grilla, no queda ninguna columna ordenada.
procedure ColumnOrderApply(Sender: TObject)
Aplica el órden de las columnas.
procedure OnPopupXtd(Sender: TObject)
Abre el menú popup de la grilla.

Funcionalidad de selección de registros
Esta funcionalidad aplica a la selección de registros y el procesamiento, por ejemplo: de opciones de menú, sobre éstos.
function SelectedRowsCount: Integer
Retorna True si hay filas seleccionadas, en revisión y posible eliminación.
Navega entre los registros de una grilla, desde el primero hasta el último, si la grilla tiene registros seleccionados, sólamente navega entre éstos. Si recibimos por argumento aCall llamamos a ese evento en cada registro.
Similar a la anterior pero navega sólamente por registros seleccionados, si no los hay sólo navega el registro corriente.
Similar NavigateRecords pero navega por todos los registros, independientemente de los seleccionados.
Retorna la cantidad de registros de la grilla, si tiene registros seleccionados retorna esa cantidad, sino retorna la cantidad de registros del DataSet.
procedure SelectAll
Selecciona todos los registros del dataset.
procedure SelectNone
Elimina todas las selecciones.
Propiedades de columnas
procedure PropiedadesDeColumnasClick(Sender: TObject)
Abre la pantalla de propiedades de columnas que permite:
- Ocultar columnas eliminándolas de la lista.
- Cambiar el orden de las columnas cambiándolas de posición.

Usa el form Form para ordenar columnas de una grilla (TTfvsDBGridColumnasForm).
procedure PropiedadesColumnasCargar
Carga las propiedades de las columnas para mostrar en la pantalla del punto anterior.