unit U_BankMoneyGYSListView; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB, cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls, cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP,ShellAPI,IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, cxDropDownEdit, BtnEdit, Menus, Buttons; type TfrmBankMoneyGYSListView = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; TBFind: TToolButton; ADOQueryMain: TADOQuery; TBExport: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; CDS_HZ: TClientDataSet; v2Column1: TcxGridDBColumn; v2Column9: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2Column11: TcxGridDBColumn; v2Column12: TcxGridDBColumn; v2Column13: TcxGridDBColumn; Label9: TLabel; FactoryNameGYS: TEdit; v2Column3: TcxGridDBColumn; Label1: TLabel; FKType: TComboBox; v2Column2: TcxGridDBColumn; Label2: TLabel; begdate: TDateTimePicker; Enddate: TDateTimePicker; v2Column4: TcxGridDBColumn; Label3: TLabel; ConNo: TEdit; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure FactoryName10Change(Sender: TObject); procedure TBExportClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure FKTypeChange(Sender: TObject); private { Private declarations } canshu1:string; procedure InitGrid(); public { Public declarations } end; var frmBankMoneyGYSListView: TfrmBankMoneyGYSListView; implementation uses U_DataLink,U_Fun,U_ZDYHelp,U_RTFun,U_BankMoneyGYSInPut,U_FjList; {$R *.dfm} procedure TfrmBankMoneyGYSListView.InitGrid(); var fsj:string; begin fsj:=SGetWhereFinds(Panel1,1,2); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; SQL.Clear; sql.Add('SELECT AA.*,FactoryNameGYS=isnull(FactoryName,'''')+isnull(FactoryNo,'''')+RTRIM(dbo.getPinYin(FactoryName)) '); sql.Add('FROM( select CRTime,A.Note,A.YFID,A.JSMoney,A.FKType '); sql.Add(',A.FactoryNo,A.CRType,A.CRFlag,A.YFName,A.ConNo'); sql.Add(',FactoryName=(select KHNameJC from KH_Main KM where KM.KHNO=A.FactoryNo and Valid=''Y'' )'); sql.Add(',SDQty=(select Count(*) from TP_File TF where TF.WBID=A.YFID and TF.TFType=''供应商费用管理'' )'); sql.Add(',Case when isnull(A.BZType,'''')=''¥'' then JSMoney else Null end as MoneyRMB '); sql.Add(',Case when isnull(A.BZType,'''')=''$'' then JSMoney else Null end as MoneyMJ '); sql.Add(',A.FillTime,A.Filler,A.Editer,A.EditTime'); sql.Add(' from YS_Money_CR A'); sql.Add(' left join KH_Sub_Bank B on A.BKNO=B.BKNO'); sql.Add(' left join KH_Main C on B.KHMainId=C.KHMainId'); sql.Add(' where 1=1 '); // if CheckBox1.Checked then // begin sql.Add('and A.CRTime>='''+FormatDateTime('yyyy-MM-dd',begdate.DateTime)+''' '); sql.Add(' and CRTime<'''+FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)+''' '); //end else // begin //sql.Add('where A.CRTime>=''2000-01-01'' '); //sql.Add(' and CRTime<''2500-01-01'' '); //end; if Trim(canshu1)='' then begin sql.Add(' and A.Filler='''+Trim(DName)+''''); end; sql.Add(' and A.CRType=''供应商费用管理'')AA where 1=1 '); SQL.Add(fsj); Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; TBFind.Click; end; end; procedure TfrmBankMoneyGYSListView.FormDestroy(Sender: TObject); begin frmBankMoneyGYSListView:=nil; end; procedure TfrmBankMoneyGYSListView.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmBankMoneyGYSListView.TBCloseClick(Sender: TObject); begin WriteCxGrid(Copy(Self.Caption,1,Length(Self.Caption)-1),Tv2,'财务管理'); Close; end; procedure TfrmBankMoneyGYSListView.FormShow(Sender: TObject); begin if Pos('管理',Trim(Self.Caption))>0 then begin canshu1:='管理'; end else begin canshu1:=''; end; Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=StrToDate(FormatDateTime('yyyy',Enddate.Date)+'-01-01'); ReadCxGrid(Copy(Self.Caption,1,Length(Self.Caption)-1),Tv2,'财务管理'); InitGrid(); end; procedure TfrmBankMoneyGYSListView.TBRafreshClick(Sender: TObject); begin ToolBar1.SetFocus; InitGrid(); end; procedure TfrmBankMoneyGYSListView.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active=False then Exit; SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); end; procedure TfrmBankMoneyGYSListView.FactoryName10Change(Sender: TObject); begin TBFind.Click; end; procedure TfrmBankMoneyGYSListView.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'供应商费用列表'); end; procedure TfrmBankMoneyGYSListView.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmBankMoneyGYSListView.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); var FName:string; begin FName:=Tv2.Controller.FocusedColumn.DataBinding.FilterFieldName; if Trim(FName)='SDQty' then begin if CDS_HZ.IsEmpty then Exit; try frmFjList:=TfrmFjList.Create(Application); with frmFjList do begin fkeyNO:=Trim(CDS_HZ.fieldbyname('YFID').AsString); fType:='供应商费用管理'; fstatus:=0; if ShowModal=1 then begin end; end; finally frmFjList.Free; end; end; end; procedure TfrmBankMoneyGYSListView.FKTypeChange(Sender: TObject); begin TBFind.Click; end; end.