unit uViewRemesasCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, uBizRemesasCliente, ActnList, Menus, cxGridBandedTableView, cxGridDBBandedTableView, JvComponent, JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, cxGridCustomPopupMenu, cxGridPopupMenu, cxCurrencyEdit, cxSpinEdit, cxCheckBox, cxCheckComboBox, cxImageComboBox, TB2Item, TB2Toolbar, SpTBXDkPanels, TB2Dock, uViewFiltroBase, dxPgsDlg, uDAInterfaces, uCustomView, uViewBase, cxLookAndFeels, cxLookAndFeelPainters, dxPSPDFExportCore, dxPSPDFExport, cxDrawTextUtils, dxPSPrVwStd, dxPSPrVwAdv, dxPScxEditorProducers, dxPScxExtEditorProducers, dxPScxPageControlProducer, SpTBXItem; type IViewRemesasCliente = interface(IViewGrid) ['{F18052A7-40A1-49F5-93A1-9544CB98DC0E}'] function GetRemesasCliente: IBizRemesaCliente; procedure SetRemesasCliente(const Value: IBizRemesaCliente); property RemesasCliente: IBizRemesaCliente read GetRemesasCliente write SetRemesasCliente; end; TfrViewRemesasCliente = class(TfrViewGrid, IViewRemesasCliente) cxGridViewREFERENCIA: TcxGridDBColumn; cxGridViewFECHA_REMESA: TcxGridDBColumn; cxGridViewDESCRIPCION: TcxGridDBColumn; cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; cxGridViewNOMBRE: TcxGridDBColumn; cxGridViewENTIDAD: TcxGridDBColumn; cxGridViewSUCURSAL: TcxGridDBColumn; cxGridViewDC: TcxGridDBColumn; cxGridViewCUENTA: TcxGridDBColumn; cxGridViewTIPO: TcxGridDBColumn; procedure cxGridViewDataControllerCompare( ADataController: TcxCustomDataController; ARecordIndex1, ARecordIndex2, AItemIndex: Integer; const V1, V2: Variant; var Compare: Integer); protected FRemesasCliente: IBizRemesaCliente; function GetRemesasCliente: IBizRemesaCliente; virtual; procedure SetRemesasCliente(const Value: IBizRemesaCliente); virtual; public property RemesasCliente: IBizRemesaCliente read GetRemesasCliente write SetRemesasCliente; end; implementation uses uDataModuleRemesasCliente, uReferenciasUtils, cxVariants; {$R *.dfm} { TfrViewRemesasCliente } { ******************************* TfrViewRemesasCliente ******************************* } procedure TfrViewRemesasCliente.cxGridViewDataControllerCompare( ADataController: TcxCustomDataController; ARecordIndex1, ARecordIndex2, AItemIndex: Integer; const V1, V2: Variant; var Compare: Integer); begin inherited; if ((AItemIndex = cxGridViewREFERENCIA.Index)) and (VarType(V1) = VarType(V2)) and (VarType(V1) = varString) then Compare := CompararReferencias(V1, V2) else Compare := VarCompare(V1, V2); end; function TfrViewRemesasCliente.GetRemesasCliente: IBizRemesaCliente; begin Result := FRemesasCliente; end; procedure TfrViewRemesasCliente.SetRemesasCliente(const Value: IBizRemesaCliente); begin FRemesasCliente := Value; if Assigned(FRemesasCliente) then dsDataSource.DataTable := FRemesasCliente.DataTable; end; end.