📄 datadisp.pas
字号:
unit DataDisp;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Grids, mxgrid, mxpivsrc, mxDB, Db, DBTables, mxtables, mxstore,
ComCtrls,MainDB,wsCores,wsTypes, StdCtrls;
type
TfrmDataDisp = class(TForm)
Panel1: TPanel;
Splitter1: TSplitter;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
DecisionCube1: TDecisionCube;
DecisionQuery1: TDecisionQuery;
DecisionSource1: TDecisionSource;
DecisionPivot1: TDecisionPivot;
DecisionGrid1: TDecisionGrid;
Panel5: TPanel;
TreeViewSelect: TTreeView;
dsViewProjectID: TDataSource;
ViewProjectID: TTable;
ViewProjectIDClass: TStringField;
ViewProjectIDACode: TStringField;
ViewProjectIDCodeMeaning: TStringField;
ViewPH: TTable;
ViewPHProjectID: TStringField;
ViewPHHourseID: TStringField;
dsViewPH: TDataSource;
ViewPHHourseIDLookup: TStringField;
DateTimePicker1: TDateTimePicker;
Label1: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TreeViewSelectChanging(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
procedure TreeViewSelectChange(Sender: TObject; Node: TTreeNode);
procedure DateTimePicker1CloseUp(Sender: TObject);
private
{ Private declarations }
strHourseID:String;
DDate :TDateTime;
Procedure OpenDescisionQuery();
public
{ Public declarations }
end;
var
frmDataDisp: TfrmDataDisp;
implementation
{$R *.DFM}
Procedure TfrmDataDisp.OpenDescisionQuery();
begin
DecisionQuery1.Close ;
DecisionQuery1.SQL.Clear;
DecisionQuery1.SQL.Add('SELECT ExtensionID, DDate, StandardG, Gravity, Height, HorizonDiff, State, SUM( StandardG ), SUM( AverageG ), COUNT( AverageG )');
DecisionQuery1.SQL.Add('FROM Extension Where (HourseID=:HourseID) and (DDate>=:DDate1) and (DDate<:DDate2)');
DecisionQuery1.SQL.Add('GROUP BY ExtensionID, DDate, StandardG, Gravity, Height, HorizonDiff, State');
DecisionQuery1.ParamByName('HourseID').AsString:=strHourseID;
DecisionQuery1.ParamByName('DDate1').AsDateTime:=DDate;
DecisionQuery1.ParamByName('DDate2').AsDateTime:=DDate+1;
try
DecisionQuery1.Open;
except
// ShowMessage('本楼栋缺少数据');
end;
end;
procedure TfrmDataDisp.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmDataDisp.FormCreate(Sender: TObject);
var
RootNode,CurrentNode :TTreeNode;
begin
Top:=2;
Left:=2;
Width:=720;
Height:=440;
strHourseID:='';
DDate:=Date();
DateTimePicker1.DateTime:=DDate;
ViewProjectID.Open;
ViewPH.Open;
if dmMainDB.ViewHourseID.State<>dsInactive then
dmMainDB.ViewHourseID.Open
else
dmMainDB.ViewHourseID.First;
try
TreeViewSelect.Items.BeginUpdate;
ViewPH.First;
While Not ViewProjectID.Eof do
begin
RootNode:=TreeViewSelect.Items.Add(nil,ViewProjectID['CodeMeaning']+' ['+ViewProjectID['ACode']+']');
while not ViewPH.Eof do
begin
CurrentNode:=TreeViewSelect.Items.AddChild(RootNode,ViewPH['HourseIDLookup']+' ['+ViewPH['HourseID']+']');
CurrentNode.ImageIndex:=0;
CurrentNode.SelectedIndex:=3;
ViewPH.Next;
end;
ViewProjectID.Next;
end;
finally
TreeViewSelect.FullExpand;
TreeViewSelect.Items.EndUpdate;
end;
if (TreeViewSelect.TopItem<>nil) and (TreeViewSelect.TopItem.getFirstChild<>nil) then
begin
strHourseID:=GetID(TreeViewSelect.TopItem.getFirstChild.Text);
TreeViewSelect.TopItem.getFirstChild.Selected:=True;
end;
ViewProjectID.Close;
ViewPH.Close;
OpenDescisionQuery();
end;
procedure TfrmDataDisp.FormDestroy(Sender: TObject);
begin
DecisionQuery1.Close;
end;
procedure TfrmDataDisp.TreeViewSelectChanging(Sender: TObject;
Node: TTreeNode; var AllowChange: Boolean);
begin
if Node.Level=1 then
begin
AllowChange:=True;
end
else
begin
AllowChange:=False;
end;
end;
procedure TfrmDataDisp.TreeViewSelectChange(Sender: TObject;
Node: TTreeNode);
begin
strHourseID:=GetID(Node.Text);
OpenDescisionQuery();
end;
procedure TfrmDataDisp.DateTimePicker1CloseUp(Sender: TObject);
begin
DDate:=DateTimePicker1.Date;
OpenDescisionQuery();
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -