unit U_KHTopList; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient, cxDropDownEdit, MovePanel, Menus, cxCheckBox, RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls, cxPC, cxLookAndFeels, cxLookAndFeelPainters, dxBarBuiltInMenu, cxNavigator; type TfrmKHTopList = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; Label1: TLabel; KHName: TEdit; Label2: TLabel; BegDate: TDateTimePicker; cxPageControl1: TcxPageControl; cxTabSheet1: TcxTabSheet; cxTabSheet2: TcxTabSheet; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v2Column1: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v2Column5: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; v1Column9: TcxGridDBColumn; v1Column10: TcxGridDBColumn; cxGrid2: TcxGrid; Tv2: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1Column11: TcxGridDBColumn; v2Column2: TcxGridDBColumn; MovePanel2: TMovePanel; cxGridPopupMenu2: TcxGridPopupMenu; Label3: TLabel; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure TBRafreshClick(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure KHNameChange(Sender: TObject); procedure cxPageControl1Change(Sender: TObject); private FLeft, FTop: Integer; procedure InitGrid(); { Private declarations } public { Public declarations } FMainid, FSubId, FConNo, FColor, FCodeName: string; end; var frmKHTopList: TfrmKHTopList; implementation uses U_DataLink, U_Fun; {$R *.dfm} procedure TfrmKHTopList.FormDestroy(Sender: TObject); begin frmKHTopList := nil; end; procedure TfrmKHTopList.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caFree; end; procedure TfrmKHTopList.InitGrid(); begin MovePanel2.Visible := True; MovePanel2.Refresh; try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; SQL.Add('exec P_View_KHTop :FYear,:CXState'); Parameters.ParamByName('FYear').Value := Trim(FormatDateTime('yyyy', BegDate.Date)); if cxPageControl1.ActivePageIndex = 0 then begin Parameters.ParamByName('CXState').Value := '月'; end else begin Parameters.ParamByName('CXState').Value := '季度'; end; // ShowMessage(Parameters.ParamByName('FYear').Value ); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); finally ADOQueryMain.EnableControls; end; MovePanel2.Visible := False; end; procedure TfrmKHTopList.TBRafreshClick(Sender: TObject); begin InitGrid(); end; procedure TfrmKHTopList.TBCloseClick(Sender: TObject); begin WriteCxGrid('Tv1', Tv1, '客户排行'); WriteCxGrid('Tv2', Tv2, '客户排行'); Close; end; procedure TfrmKHTopList.FormShow(Sender: TObject); begin BegDate.Date := SGetServerDate(ADOQueryTemp); ReadCxGrid('Tv1', Tv1, '客户排行'); ReadCxGrid('Tv2', Tv2, '客户排行'); end; procedure TfrmKHTopList.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; end; procedure TfrmKHTopList.KHNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmKHTopList.cxPageControl1Change(Sender: TObject); begin InitGrid(); end; end.