unit uEditorFacturasCliente; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorGrid, Menus, DB, uDADataTable, JvAppStorage, JvAppRegistryStorage, JvComponent, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls, JvNavigationPane, uViewGrid, pngimage, uBizFacturasCliente, JvComponentBase, StdCtrls, cxControls, cxContainer, cxEdit, cxTextEdit, cxMaskEdit, cxDropDownEdit, cxCalendar, cxDBEdit, TBXDkPanels, dxLayoutControl, JvButton, cxRadioGroup, Buttons; type IEditorFacturasCliente = interface(IEditorGrid) ['{597BF875-BD19-4B68-898F-B09982B3360A}'] function GetFacturasCliente: IBizFacturasCliente; procedure SetFacturasCliente(const Value: IBizFacturasCliente); property FacturasCliente: IBizFacturasCliente read GetFacturasCliente write SetFacturasCliente; end; TfEditorFacturasCliente = class(TfEditorGrid, IEditorFacturasCliente) procedure actEliminarExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); procedure actNuevoExecute(Sender: TObject); private FFacturasCliente: IBizFacturasCliente; protected function GetFacturasCliente: IBizFacturasCliente; procedure SetFacturasCliente(const Value: IBizFacturasCliente); procedure SetViewGrid(const Value: IViewGrid); override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; property FacturasCliente: IBizFacturasCliente read GetFacturasCliente write SetFacturasCliente; end; var fEditorFacturasCliente: TfEditorFacturasCliente; implementation uses uDataModuleFacturasCliente, uViewFacturasCliente, uEditorUtils; {$R *.dfm} function ShowEditorFacturasCliente (ABizObject : TDADataTableRules) : TModalResult; var AEditor: TfEditorFacturasCliente; begin AEditor := TfEditorFacturasCliente.Create(Application); try AEditor.FacturasCliente := (ABizObject as IBizFacturasCliente); Result := AEditor.ShowModal; finally AEditor.Release; end; end; function ShowSelectEditorFacturasCliente (ABizObject : TDADataTableRules) : TModalResult; var AEditor: TfEditorFacturasCliente; begin AEditor := TfEditorFacturasCliente.Create(Application); try AEditor.FacturasCliente := (ABizObject as IBizFacturasCliente); // AEditor.SelectionBarVisible := True; Result := AEditor.ShowModal; finally AEditor.Release; end; end; { *************************** TfEditorFacturasCliente *************************** } constructor TfEditorFacturasCliente.Create(AOwner: TComponent); begin inherited; ViewGrid := CreateView(TfrViewFacturasCliente) as IViewFacturasCliente; end; destructor TfEditorFacturasCliente.Destroy; begin FFacturasCliente := NIL; inherited; end; procedure TfEditorFacturasCliente.actEliminarExecute(Sender: TObject); begin if (Application.MessageBox('¿Desea borrar esta factura de cliente?', 'Atención', MB_YESNO) = IDYES) then begin inherited; ViewGrid.RefreshGrid; end; end; procedure TfEditorFacturasCliente.actModificarExecute(Sender: TObject); begin inherited; FacturasCliente.Show; ViewGrid.RefreshGrid; ViewGrid.SyncFocusedRecordsFromDataSet; end; procedure TfEditorFacturasCliente.actNuevoExecute(Sender: TObject); begin inherited; FacturasCliente.Insert; FacturasCliente.Show; ViewGrid.RefreshGrid; ViewGrid.SyncFocusedRecordsFromDataSet; end; function TfEditorFacturasCliente.GetFacturasCliente: IBizFacturasCliente; begin Result := FFacturasCliente; end; procedure TfEditorFacturasCliente.SetFacturasCliente(const Value: IBizFacturasCliente); begin FFacturasCliente := Value; dsDataTable.DataTable := FFacturasCliente.DataTable; if Assigned(ViewGrid) then (ViewGrid as IViewFacturasCliente).FacturasCliente := FacturasCliente; end; procedure TfEditorFacturasCliente.SetViewGrid(const Value: IViewGrid); begin inherited; if Assigned(ViewGrid) and Assigned(FacturasCliente) then (ViewGrid as IViewFacturasCliente).FacturasCliente := FFacturasCliente; end; initialization RegisterEditor(IBizFacturasCliente, ShowEditorFacturasCliente, etItems); RegisterEditor(IBizFacturasCliente, ShowSelectEditorFacturasCliente, etSelectItems); finalization end.