unit U_ZZYSSKList; 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; type TfrmZZYSSKList = 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; FactoryName10: TEdit; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridLevel1: TcxGridLevel; Label2: TLabel; Label6: TLabel; begdate: TDateTimePicker; Enddate: 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; v2Column9: TcxGridDBColumn; CheckBox1: TCheckBox; v2Column10: TcxGridDBColumn; v2Column11: TcxGridDBColumn; ToolButton3: TToolButton; 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 FactoryName10Change(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure cxTabControl1Change(Sender: TObject); procedure v2Column6HeaderClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); private { Private declarations } procedure InitGrid(); public fDParameters1:string; { Public declarations } RKFlag,FCYID:String; end; var frmZZYSSKList: TfrmZZYSSKList; implementation uses U_DataLink,U_RTFun,U_Fun,U_ZDYHelp,U_ZZYSMXlist, U_ZZYSMXTaiToulist; {$R *.dfm} procedure TfrmZZYSSKList.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Close; SQL.Clear; Filtered:=False; sql.Add(' exec P_YSSK_List :begdate,:Enddate') ; if CheckBox1.Checked=True then begin Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',begdate.DateTime)); Parameters.ParamByName('Enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',Enddate.DateTime+1)); end else begin Parameters.ParamByName('begdate').Value:='2000-01-01'; Parameters.ParamByName('Enddate').Value:='2500-01-01'; end; Open; end; SCreateCDS20(ADOQueryMain,CDS_HZ); SInitCDSData20(ADOQueryMain,CDS_HZ); finally ADOQueryMain.EnableControls; end; //ToolButton2.Click; end; procedure TfrmZZYSSKList.FormDestroy(Sender: TObject); begin frmZZYSSKList:=nil; end; procedure TfrmZZYSSKList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmZZYSSKList.TBCloseClick(Sender: TObject); begin WriteCxGrid('应收收款统计',Tv2,'财务管理'); Close; end; procedure TfrmZZYSSKList.FormShow(Sender: TObject); begin ReadCxGrid('应收收款统计',Tv2,'财务管理'); Enddate.DateTime:=SGetServerDate(ADOQueryTemp); begdate.DateTime:=SGetServerDateMBeg(ADOQueryTemp); {with ADOQueryTemp do begin Close; sql.Clear; sql.Add('select distinct(ComTaiTou) from YF_Money_CR where CRFlag=''应收收'' and ISNULL(ComTaiTou,'''')<>'''' '); Open; end; cxTabControl1.Tabs.Clear; with ADOQueryTemp do begin First; while not Eof do begin cxTabControl1.Tabs.Add(ADOQueryTemp.fieldbyname('ComTaiTou').AsString); Next; end; end; } InitGrid(); end; procedure TfrmZZYSSKList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmZZYSSKList.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 TfrmZZYSSKList.FactoryName10Change(Sender: TObject); begin ToolButton2.Click; end; procedure TfrmZZYSSKList.ToolButton1Click(Sender: TObject); begin if ADOQueryMain.IsEmpty then Exit; SelExportData(Tv2,ADOQueryMain,'应收款统计列表'); end; procedure TfrmZZYSSKList.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin try frmZZYSMXTaiToulist:=TfrmZZYSMXTaiToulist.Create(Application); with frmZZYSMXTaiToulist do begin FMX:='99'; frmZZYSMXTaiToulist.begdate.DateTime:=Self.begdate.DateTime; frmZZYSMXTaiToulist.Enddate.DateTime:=Self.Enddate.DateTime; frmZZYSMXTaiToulist.factoryName.Text:=Self.CDS_HZ.fieldbyname('factoryName').AsString; if Self.CheckBox1.Checked then begin frmZZYSMXTaiToulist.CheckBox1.Checked:=True; end else begin frmZZYSMXTaiToulist.CheckBox1.Checked:=False; end; frmZZYSMXTaiToulist.Align:=alClient; if ShowModal=1 then begin end; end; finally frmZZYSMXTaiToulist.Free; end; end; procedure TfrmZZYSSKList.cxTabControl1Change(Sender: TObject); begin TBRafresh.Click; end; procedure TfrmZZYSSKList.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 TfrmZZYSSKList.ToolButton3Click(Sender: TObject); var filepath: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; mbegdate:=FormatDateTime('yyyy-MM-dd',begdate.Date); menddate:=FormatDateTime('yyyy-MM-dd',enddate.Date); if CDS_HZ.IsEmpty then exit; try filepath:=ExtractFilePath(Application.ExeName) + 'report\应收款统计报表.rmf'; if not FileExists(Pchar(filepath)) then begin application.MessageBox(pchar('文件['+filepath+']不存在!'),'提示信息',MB_IConError); exit; end; RmVariables['begDate'] :=FormatDateTime('yymmdd',begDate.Date)+'-'+FormatDateTime('yymmdd',enddate.Date); RM1.LoadFromFile(filepath); RM1.ShowReport; finally end; end; end.