unit UDecision;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, TeEngine, Series, MXDB, DB, DBTables, MXTABLES, Mxstore, ExtCtrls, TeeProcs, Chart, MXGRAPH, Grids, MXGRID, StdCtrls, ComCtrls, MXPIVSRC;type TFDecision = class(TForm) DecisionGrid1: TDecisionGrid; DecisionGraph1: TDecisionGraph; DecisionCube1: TDecisionCube; DecisionSource1: TDecisionSource; Series10: TBarSeries; Series11: TBarSeries; StatusBar1: TStatusBar; Series2: TBarSeries; DecisionPivot1: TDecisionPivot; Series3: TBarSeries; Series4: TBarSeries; Series5: TBarSeries; Series6: TBarSeries; Series7: TBarSeries; Series8: TBarSeries; DecisionQuery1: TDecisionQuery; procedure FormCreate(Sender: TObject); procedure DecisionGrid1DecisionDrawCell(Sender: TObject; Col, Row: Integer; var Value: String; var aFont: TFont; var aColor: TColor; AState: TGridDrawState; aDrawState: TDecisionDrawState); procedure DecisionGrid1DecisionExamineCell(Sender: TObject; iCol, iRow, iSum: Integer; const ValueArray: TValueArray); procedure DecisionGrid1TopLeftChanged(Sender: TObject); private { Private declarations } public { Public declarations } end;var FDecision: TFDecision;implementation{$R *.dfm}procedure TFDecision.FormCreate(Sender: TObject);begin //打开决策查询组件 DecisionQuery1.Open(); //设置决策网格的属性 DecisionGrid1.CaptionColor :=RGB(0,255,0); //设置维标题的颜色 -green DecisionGrid1.LabelColor :=RGB(255,0,0); //设置字段名称的颜色--red DecisionGrid1.DataColor :=RGB(255,255,0);//数组数据单元的颜色--yellow DecisionGrid1.DataSumColor :=RGB(255,0,255); //设置小计单元的颜色-pink DecisionGrid1.Dimensions[2].color :=RGB(0,0,125);//设置第二维的颜色--blue //设置决策图的背景色为白色 DecisionGraph1.Color :=RGB(255,255,255); DecisionGraph1.Title.Text.Strings[0] :='动物资料';end;procedure TFDecision.DecisionGrid1DecisionDrawCell(Sender: TObject; Col, Row: Integer; var Value: String; var aFont: TFont; var aColor: TColor; AState: TGridDrawState; aDrawState: TDecisionDrawState);begin //将决策网格数据区中的第3行的4列的单元的颜色设置为紫色 if (Row=2) and (Col=3) then aColor := RGB(128,0,128);end;procedure TFDecision.DecisionGrid1DecisionExamineCell(Sender: TObject; iCol, iRow, iSum: Integer; const ValueArray: TValueArray);var str:String;begin//利用状态条显示用户右击鼠标所选择的单元中的数据 if DecisionGrid1.Cells[iCol,iRow]<>'' then begin str := '鼠标右击所选择的第'+inttostr(iRow+1)+'行'; str :=str +'第'+inttostr(iCol+1); str :=str +'列的数据单元的数据为:'+ DecisionGrid1.Cells[iCol,iRow]; StatusBar1.SimpleText := str; end else StatusBar1.SimpleText :='';end;procedure TFDecision.DecisionGrid1TopLeftChanged(Sender: TObject);Var rect:TRect ; str:String;begin rect := DecisionGrid1.CellRect(3,2); if rect.Left =0 then begin StatusBar1.SimpleText :='决策网格第三行第四列的数据单元未显示!'; exit; end; str :='决策网格第三行第四列的数据单元的坐标为:(' ; str :=str + inttostr(rect.Left)+','; str :=str + inttostr(rect.top)+','; str :=str + inttostr(rect.Right)+','; str :=str + inttostr(rect.Bottom)+')'; StatusBar1.SimpleText :=str;end;end.