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

176 lines
4.6 KiB
ObjectPascal
Raw Normal View History

2025-07-19 09:32:10 +08:00
unit U_SXTopList;
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
TfrmSXTopList = 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
frmSXTopList: TfrmSXTopList;
implementation
uses
U_DataLink, U_Fun;
{$R *.dfm}
procedure TfrmSXTopList.FormDestroy(Sender: TObject);
begin
frmSXTopList := nil;
end;
procedure TfrmSXTopList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmSXTopList.InitGrid();
begin
MovePanel2.Visible := True;
MovePanel2.Refresh;
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
SQL.Add('exec P_View_SXTop :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 TfrmSXTopList.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmSXTopList.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('Tv1', Tv1, <><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
WriteCxGrid('Tv2', Tv2, <><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmSXTopList.FormShow(Sender: TObject);
begin
BegDate.Date := SGetServerDate(ADOQueryTemp);
ReadCxGrid('Tv1', Tv1, <><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
ReadCxGrid('Tv2', Tv2, <><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmSXTopList.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 TfrmSXTopList.P_CodeChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmSXTopList.cxPageControl1Change(Sender: TObject);
begin
InitGrid();
end;
end.