D7szYidui/进度统计查询2(Statistics.dll)(1)/U_CPTopList.pas

176 lines
4.6 KiB
ObjectPascal
Raw Normal View History

2025-07-19 09:32:10 +08:00
unit U_CPTopList;
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
TfrmCPTopList = 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;
P_Code: 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 P_CodeChange(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
frmCPTopList: TfrmCPTopList;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmCPTopList.FormDestroy(Sender: TObject);
begin
frmCPTopList := nil;
end;
procedure TfrmCPTopList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmCPTopList.InitGrid();
begin
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('exec P_View_CPTop :FYear,:CXState');
Parameters.ParamByName('FYear').Value := Trim(FormatDateTime('yyyy', BegDate.Date));
if cxPageControl1.ActivePageIndex = 0 then
begin
Parameters.ParamByName('CXState').Value := '<27><>';
end
else
begin
Parameters.ParamByName('CXState').Value := '<27><><EFBFBD><EFBFBD>';
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 TfrmCPTopList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPTopList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('Tv1', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
WriteCxGrid('Tv2', Tv2, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmCPTopList.FormShow(Sender: TObject);
begin
BegDate.Date := SGetServerDate(ADOQueryTemp);
ReadCxGrid('Tv1', Tv1, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
ReadCxGrid('Tv2', Tv2, '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>');
end;
procedure TfrmCPTopList.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 TfrmCPTopList.P_CodeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmCPTopList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.