unit uViewContactos; 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, uBizContactos, ActnList, Menus, cxGridBandedTableView, cxGridDBBandedTableView, JvComponent, JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, uDataModuleClientes, cxGridCustomPopupMenu, cxGridPopupMenu, uViewFiltroBase, ComCtrls, TB2Item, TBX, TB2Toolbar, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, dxSkinscxPCPainter, dxPgsDlg, dxPScxGrid6Lnk, uDAInterfaces, TBXDkPanels, TB2Dock; type IViewContactos = interface(IViewGrid) ['{9E43DEE1-F72B-4C93-8592-1C7DF01E293D}'] function GetContactos: IBizContacto; procedure SetContactos(const Value: IBizContacto); property Contactos: IBizContacto read GetContactos write SetContactos; end; TfrViewContactos = class(TfrViewGrid, IViewContactos) cxGridViewICONO: TcxGridDBColumn; cxGridViewNIF_CIF: TcxGridDBColumn; cxGridViewNOMBRE: TcxGridDBColumn; cxGridViewCALLE: TcxGridDBColumn; cxGridViewPOBLACION: TcxGridDBColumn; cxGridViewPROVINCIA: TcxGridDBColumn; cxGridViewCODIGO_POSTAL: TcxGridDBColumn; cxGridViewTELEFONO_1: TcxGridDBColumn; cxGridViewTELEFONO_2: TcxGridDBColumn; cxGridViewMOVIL_1: TcxGridDBColumn; cxGridViewFAX: TcxGridDBColumn; cxGridViewEMAIL_1: TcxGridDBColumn; cxGridViewEMAIL_2: TcxGridDBColumn; cxGridViewPAGINA_WEB: TcxGridDBColumn; cxGridViewREFERENCIA: TcxGridDBColumn; GridImageList: TPngImageList; procedure cxGridViewICONOCustomDrawHeader(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean); procedure cxGridViewICONOCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); protected FContactos: IBizContacto; function GetContactos: IBizContacto; virtual; procedure SetContactos(const Value: IBizContacto); virtual; public property DataSet: IBizContacto read GetContactos write SetContactos; end; implementation {$R *.dfm} { TfrViewClientes } { ******************************* TfrViewContactos ******************************* } procedure TfrViewContactos.cxGridViewICONOCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); var R : TRect; begin inherited; R := AViewInfo.ContentBounds; ACanvas.FillRect(R); ACanvas.DrawImage(GridImageList, R.Left + 2, R.Top + 2, 1); ADone := True; end; procedure TfrViewContactos.cxGridViewICONOCustomDrawHeader( Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean); var R : TRect; begin inherited; with AViewInfo do begin LookAndFeelPainter.DrawHeader(ACanvas, Bounds, TextAreaBounds, Neighbors, Borders, ButtonState, AlignmentHorz, AlignmentVert, MultiLine, False, '', Params.Font, Params.TextColor, Params.Color); R := AViewInfo.ContentBounds; ACanvas.FillRect(R); ACanvas.DrawImage(GridImageList, R.Left + 2, R.Top + 2, 0); end; ADone := True; end; function TfrViewContactos.GetContactos: IBizContacto; begin Result := FContactos; end; procedure TfrViewContactos.SetContactos(const Value: IBizContacto); begin FContactos := Value; if Assigned(FContactos) then dsDataSource.DataTable := FContactos.DataTable; end; end.