unit uViewSubCuentas;

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, uBizSubCuentas, ActnList, Menus,
  cxGridBandedTableView, cxGridDBBandedTableView, JvComponent,
  JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn,
  dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
  dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk,
  cxGridCustomPopupMenu, cxGridPopupMenu, uViewFiltroBase, TB2Item, TBX,
  TB2Toolbar, TBXDkPanels, TB2Dock, dxPgsDlg, uDAInterfaces, cxCalendar,
  cxImageComboBox, cxTextEdit, cxCurrencyEdit, uCustomView, uViewBase;

type
  IViewSubCuentas = interface(IViewGrid)
    ['{E6798DF7-011C-40EC-B368-160C48697445}']
    function GetSubCuentas: IBizSubCuenta;
    procedure SetSubCuentas(const Value: IBizSubCuenta);
    property SubCuentas: IBizSubCuenta read GetSubCuentas write SetSubCuentas;
  end;

  TfrViewSubCuentas = class(TfrViewGrid, IViewSubCuentas)
    cxGridViewDESCRIPCION: TcxGridDBColumn;
    cxGridViewREF_SUBCUENTA: TcxGridDBColumn;
    cxGridViewID: TcxGridDBColumn;
    PngImageList: TPngImageList;
    cxGridViewCUENTA: TcxGridDBColumn;
    cxGridViewDEBE: TcxGridDBColumn;
    cxGridViewHABER: TcxGridDBColumn;
    cxGridViewSALDO: TcxGridDBColumn;
    procedure cxGridViewIDCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
      AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
  protected
    FSubCuentas: IBizSubCuenta;
    function GetSubCuentas: IBizSubCuenta; virtual;
    procedure SetSubCuentas(const Value: IBizSubCuenta); virtual;
  public
    property SubCuentas: IBizSubCuenta read GetSubCuentas write SetSubCuentas;
  end;

implementation
{$R *.dfm}

{ TfrViewSubCuentas }

{
******************************* TfrViewSubCuentas *******************************
}
function TfrViewSubCuentas.GetSubCuentas: IBizSubCuenta;
begin
  Result := FSubCuentas;
end;

procedure TfrViewSubCuentas.SetSubCuentas(const Value: IBizSubCuenta);
begin
  FSubCuentas := Value;
  if Assigned(FSubCuentas) then
    dsDataSource.DataTable := FSubCuentas.DataTable;
end;


procedure TfrViewSubCuentas.cxGridViewIDCustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
  R : TRect;
begin
  inherited;
  R := AViewInfo.ContentBounds;
  ACanvas.FillRect(R);
  ACanvas.DrawImage(PngImageList, R.Left, R.Top, 1);
  ADone := True;
end;

end.
