unit U_YSSKList; 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,dxCore,ActiveX, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmYSSKList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryTemp: TADOQuery; ADOQueryCmd: TADOQuery; Panel1: TPanel; ToolButton2: TToolButton; ToolButton1: TToolButton; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; Label3: TLabel; FactoryNameGYS: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; Label2: TLabel; begdate: TDateTimePicker; cxGridPopupMenu2: TcxGridPopupMenu; DS_HZ: TDataSource; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v2Column2: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column4: TcxGridDBColumn; ADOQueryMain: TADOQuery; CDS_HZ: TClientDataSet; v2Column7: TcxGridDBColumn; v2Column8: TcxGridDBColumn; v2Column10: TcxGridDBColumn; v2Column11: TcxGridDBColumn; ToolButton3: TToolButton; cxTabControl1: TcxTabControl; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure FactoryNameGYSChange(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure ToolButton3Click(Sender: TObject); procedure v2Column6HeaderClick(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private { Private declarations } procedure InitGrid(); public fDParameters1:string; { Public declarations } RKFlag,FCYID:String; end; var frmYSSKList: TfrmYSSKList; implementation uses U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_YSMXlist; {$R *.dfm} procedure TfrmYSSKList.InitGrid(); var FYue,FDate:string; FInt:Integer; begin FInt:=cxTabControl1.TabIndex+1; FYue:=Trim(IntToStr(FInt)); if FInt<10 then begin FYue:='0'+Trim(IntToStr(FInt)); end; FDate:=Trim(FormatDateTime('yyyy',begdate.Date))+'-'+FYue; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered:=False; sql.Add(' exec P_YSSK_Month :Fdate ') ; Parameters.ParamByName('Fdate').Value:=FDate; Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; //ToolButton2.Click; end; procedure TfrmYSSKList.FormDestroy(Sender: TObject); begin frmYSSKList:=nil; end; procedure TfrmYSSKList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmYSSKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('应收收款统计YX',Tv2,'财务管理'); Close; end; procedure TfrmYSSKList.FormShow(Sender: TObject); var fstr:string; begin ReadCxGrid('应收收款统计YX',Tv2,'财务管理'); begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); fstr:=Trim(FormatDateTime('MM',begdate.Date)); cxTabControl1.TabIndex:=StrToInt(fstr)-1; // InitGrid(); end; procedure TfrmYSSKList.TBRafreshClick(Sender: TObject); begin InitGrid(); CDS_HZ.IndexFieldNames:='FactoryName'; with CDS_HZ do begin with IndexDefs do begin Clear; with AddIndexDef do begin Name := 'Fld1Indx'; Fields := 'FactoryName'; Options := [ixDescending]; //降序 end; end; end; end; procedure TfrmYSSKList.ToolButton2Click(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 TfrmYSSKList.FactoryNameGYSChange(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmYSSKList.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'应收款收款统计列表'); end; procedure TfrmYSSKList.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmYSMXlist:=TfrmYSMXlist.Create(Application); with frmYSMXlist do begin FMX:='99'; frmYSMXlist.begdate.DateTime:=Self.begdate.DateTime; frmYSMXlist.cxTabControl1.TabIndex:=Self.cxTabControl1.TabIndex; frmYSMXlist.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString; frmYSMXlist.factoryName.TxtCode:=Self.CDS_HZ.fieldbyname('factoryNo').AsString; frmYSMXlist.Align:=alClient; if ShowModal=1 then begin end; end; finally frmYSMXlist.Free; end; end; procedure TfrmYSSKList.ToolButton3Click(Sender: TObject); var filepath,fsj:string; mBegdate,mEnddate:string; FName,FNameSX,FNameJX:String; i:Integer; begin {for i:=0 to Tv2.ColumnCount-1 do begin FName:=Tv2.Columns[i].DataBinding.FilterFieldName; FNameSX:=Trim(FName)+'-1'; FNameJX:=Trim(FName)+'-2'; CDS_HZ.AddIndex(FNameSX, FName, []); // 正序 CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); // 倒序 if Tv2.Columns[i].SortOrder=soDescending then begin CDS_HZ.IndexName:=FNameJX; end else if Tv2.Columns[i].SortOrder=soAscending then begin CDS_HZ.IndexName:=FNameSX; end; end; } fsj:=cxTabControl1.Tabs[cxTabControl1.TabIndex].Caption; mbegdate:=FormatDateTime('yyyy',begdate.Date)+'年'+Trim(Copy(fsj,3,Length(fsj)-2))+'份'; if CDS_HZ.IsEmpty then exit; try filepath:=ExtractFilePath(Application.ExeName) + 'report\应收款统计报表YX.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件['+filepath+']不存在!'),'提示信息',MB_IConError); exit; end; RmVariables['begDate'] :=mbegdate; RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; procedure TfrmYSSKList.v2Column6HeaderClick(Sender: TObject); var FName,FNameSX,FNameJX:String; begin FName:=TcxGridDBColumn(Sender).DataBinding.FilterFieldName; FNameSX:=Trim(FName)+'-1'; FNameJX:=Trim(FName)+'-2'; CDS_HZ.AddIndex(FNameSX, FName, []); { 正序 } CDS_HZ.AddIndex(FNameJX, FName, [ixDescending]); { 倒序 } if TcxGridDBColumn(Sender).SortOrder=soDescending then begin CDS_HZ.IndexName:=FNameSX; end else if TcxGridDBColumn(Sender).SortOrder=soAscending then begin CDS_HZ.IndexName:=FNameJX; end; end; procedure TfrmYSSKList.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; end.