unit uViewRecibosRemesaCliente_2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uViewGrid, uViewPreview, cxStyles, cxCustomData, cxGraphics,
  cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl,
  dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider,
  dxPSFillPatterns, dxPSEdgePatterns, cxImageComboBox, cxTextEdit, ImgList,
  PngImageList, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
  dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, ActnList, uDADataTable,
  cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid,
  cxImage, Grids, DBGrids, uBizRecibosCliente, cxGridCustomPopupMenu,
  cxGridPopupMenu, cxCalendar, cxCurrencyEdit, ComCtrls, ToolWin, dxPgsDlg,
  TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase;

type
  IViewRecibosRemesaCliente2 = interface(IViewGrid)
  ['{27D0229A-6340-4F03-B97A-7776E9166F2F}']
    function GetRecibos: IBizRecibosCliente;
    procedure SetRecibos(const Value: IBizRecibosCliente);
    property Recibos: IBizRecibosCliente read GetRecibos write SetRecibos;
  end;

  TfrViewRecibosRemesaCliente2 = class(TfrViewGrid, IViewRecibosRemesaCliente2)
    PngImageList: TPngImageList;
    cxStylePagada: TcxStyle;
    cxStyleAbono: TcxStyle;
    cxGridViewRecID: TcxGridDBColumn;
    cxGridViewID: TcxGridDBColumn;
    cxGridViewREFERENCIA: TcxGridDBColumn;
    cxGridViewSITUACION: TcxGridDBColumn;
    cxGridViewID_FACTURA: TcxGridDBColumn;
    cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn;
    cxGridViewDESCRIPCION: TcxGridDBColumn;
    cxGridViewOBSERVACIONES: TcxGridDBColumn;
    cxGridViewIMPORTE: TcxGridDBColumn;
    cxGridViewFECHA_FACTURA: TcxGridDBColumn;
    cxGridViewFORMA_PAGO_FACTURA: TcxGridDBColumn;
    cxGridViewIMPORTE_FACTURA: TcxGridDBColumn;
    cxGridViewNOMBRE_CLIENTE: TcxGridDBColumn;
    cxGridViewNIF_CIF_CLIENTE: TcxGridDBColumn;
    cxGridViewENTIDAD_CLIENTE: TcxGridDBColumn;
    cxGridViewSUCURSAL_CLIENTE: TcxGridDBColumn;
    cxGridViewDC_CLIENTE: TcxGridDBColumn;
    cxGridViewCUENTA_CLIENTE: TcxGridDBColumn;
    cxGridViewID_EMPRESA: TcxGridDBColumn;
    cxGridViewFECHA_ALTA: TcxGridDBColumn;
    cxGridViewFECHA_MODIFICACION: TcxGridDBColumn;
    cxGridViewUSUARIO: TcxGridDBColumn;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ActionListRecibos: TActionList;
    actAnadirRecibo: TAction;
    actEliminarRecibo: TAction;
    procedure cxGridViewICONOCustomDrawCell(Sender: TcxCustomGridTableView;
      ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
      var ADone: Boolean);
    procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
      ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
      out AStyle: TcxStyle);
  protected
    FNivelFiltrado : TcxFilterCriteriaItemList;
    FRecibos: IBizRecibosCliente;
    function GetRecibos: IBizRecibosCliente;
    procedure SetRecibos(const Value: IBizRecibosCliente);
  public
    property Recibos: IBizRecibosCliente read GetRecibos write SetRecibos;
  end;


implementation

uses
  uDataModuleRecibosCliente, DateUtils;

{$R *.dfm}

{ TfrViewRecibosCliente }

procedure TfrViewRecibosRemesaCliente2.cxGridViewICONOCustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
{var
  R : TRect;}
begin
  inherited;
{
  R := AViewInfo.ContentBounds;
  ACanvas.FillRect(R);
  if (Pos('-', AViewInfo.GridRecord.DisplayTexts[cxGridViewIMPORTE_TOTAL.Index]) > 0) then
    ACanvas.DrawImage(PngImageList, R.Left, R.Top, 3)
  else
    ACanvas.DrawImage(PngImageList, R.Left, R.Top, 2);
  ADone := True;
}  
end;

procedure TfrViewRecibosRemesaCliente2.cxGridViewStylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
{var
  IndiceCol: Integer;
  ASituacion: string;}
begin
  inherited;
{
  if Assigned(ARecord) then
  begin
    IndiceCol := cxGridViewSITUACION.Index;
    ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
    if ASituacion = SITUACION_PAGADO then
      AStyle := cxStylePagada;

    IndiceCol := cxGridViewIMPORTE_TOTAL.Index;
    if (Pos('-', ARecord.DisplayTexts[IndiceCol]) > 0) then
      AStyle := cxStyleAbono;

  end;
}  
end;

function TfrViewRecibosRemesaCliente2.GetRecibos: IBizRecibosCliente;
begin
  Result := FRecibos;
end;

procedure TfrViewRecibosRemesaCliente2.SetRecibos(const Value: IBizRecibosCliente);
begin
  FRecibos := Value;
  if Assigned(FRecibos) then
    dsDataSource.DataTable := FRecibos.DataTable;
end;

end.
