unit UDecision;
interface
uses
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.
应用Decision Cube组件页
最新推荐文章于 2025-06-28 09:17:19 发布
本文介绍了一个基于决策支持系统的应用程序开发过程,重点讲述了如何使用特定组件如决策查询、决策网格、决策图表等进行数据展示和分析。文章展示了如何通过设置各种颜色来增强数据可视化的可读性和用户体验,并提供了对决策网格中特定单元格进行自定义样式设置的方法。
4043

被折叠的 条评论
为什么被折叠?



