在本文中将了解FastCube.Net库中包含的组件,组件列表:
- Cube——从文件加载多维数据集并用数据填充它的主要组件;
- CubeGrid——用于显示多维数据集的所有数据;
- CubeGridToolbar——是CubeGrid的工具栏;
- Slice——包含多维数据切片;
- SliceGrid——用于显示多维数据切片
- SliceGridToolbar——Slice网格的工具栏;
- Chart——基于切片数据;
- ChartToolbar——图表的工具栏;
- DataSource——多维数据集的数据源。
- DBDataSet——从数据库中获取的数据集;
- DTDataSet——来自DataTable的数据集。
组件关系案例:
DataSource对象具有DataSet属性,此属性的值是对两个对象(DBDataSet、DTDataSet)其中一个的引用。Cube对象具有DataSource属性,CubeGrid和Slice与Cube对象相关。反过来,SliceGrid和Chart与Slice对象相关,该特性将帮助用户建立组件的连接。接下来,来认识一下这些组件:
(1)Cube组件是整个FastCube的基础,它加载多维数据集文件,并充当其他组件的数据提供者和数据方案提供者。下面是该组件的主要属性和方法。
属性:
属性 | 描述 |
Active | 活动是Ture是False,确保在所有设置之后,必须将Active属性设置为true。否则,用户将看不到任何数据。 |
Caption | 多维数据标题,在CubeGrid中可见。 |
CompressCubeFile | 是否使用多维数据文件压缩 |
DataSource | 如果使用数据库或DataTable中的数据填充多维数据集,则必须选择数据源。 |
Description | 描述,可以在CubeGrid中看到 |
SkipFieldsWithErrors | 忽略有错误的字段 |
SourceType | 数据源的类型指示数据填充多维数据集的位置。可以采用以下值之一:
|
方法:
方法 | 描述 |
ClearGroups() | 清除分组。 |
Close() | 关闭多维数据。 |
GetFieldsCount() | 获取多维数据集中的字段数。 |
GetSourceRecordsCount() | 获取数据源中的记录数。 |
GetSourceValue() | 获取数据源的值。 |
GetSourceValueAsString() | 以字符串形式获取数据源的值。 |
GetSourceValueId() | 获取数据源值的ID。 |
GetSourceValueIdAndVariant() | 获取数据源值的ID。 |
Load() | 加载多维数据、File或stream。 |
LoadGroups() | 加载分组 |
Open() | 打开多维数据。 |
Save() | 将多维数据集保存到文件。 |
SaveGroups() | 保存分组。 |
Dispose() | 销毁多维对象。 |
SendAlert() | 向用户发送提醒。 |
代码中使用的示例:
FastReport.Olap.Cube.Cube cube = new FastReport.Olap.Cube.Cube(); cube.DataSource = dataSource1; cube.SourceType = FastReport.Olap.Cube.SourceType.DataSource; cube.Load("С:\\Program Files (x86)\\FastReports\\FastCube.Net Professional\\Demos\\Data\\Cubes\\2_0_sample_en1.mdc"); cube.Active = true;
如果用户使用的是包含数据的多维数据集文件,则无需设置DataSource属性。对于SourceType属性,需要值FastReport.Olap.Cube.SourceType.File。
(2)CubeGrid组件是一个汇总表,其中填充了多维数据集中的数据。
属性:
属性 | 描述 |
Cube | 多维数据集对象。 |
DataZone | 用于在网格中显示数据的设置。 |
方法:
方法 | 描述 |
Export | 将多维数据集导出为以下格式之一:
|
CreateDataZone | 创建一个新的数据区域。 |
FullUpdate | 更新数据区和字幕区。 |
代码中使用的示例:
CubeGrid cubeGrid = new CubeGrid(); cubeGrid.Dock = DockStyle.Fill; cubeGrid.Parent = tabPage2; cubeGrid.Cube = cube;
上面的示例演示如何从应用程序代码创建cubeGrid,需要将创建的对象放在表单(Parent属性)上,并设置位置(Dock属性)。此外,用户必须指定从中获取数据的多维数据集。
(3)CubeGridToolbar组件是一个与cubeGrid组件一起使用的工具栏。
此工具栏仅提供一个元素——export(导出),下表显示了可用的导出格式。
属性:
属性 | 描述 |
Grid | 网格为其中的行为工具栏。 |
ToolItems | 工具栏的元素列表。 |
代码中使用的示例:
CubeGridToolbar cubeGridToolbar = new CubeGridToolbar (); cubeGridToolbar。Dock = DockStyle。顶部; cubeGridToolbar。Parent = tabPage2 ; cubeGridToolbar。Grid = cubeGrid ;
如果可以在“属性”检查器中配置Dock和Grid属性,则只需在程序代码中设置“Parent”。
(4)Slice组件包含多维数据集的切片,要加载切片,需要下载带切片的文件。这可以是多维数据文件或计划文件。
属性:
属性 | 描述 |
AutoUniqueValuesFilter | 过滤重复值。 |
Cube | 多维数据集对象。 |
FieldsOrder | 显示字段的顺序:ByIndex,ByName,ByCaption。 |
ColCount | 列数。 |
HideColZeros | 隐藏空列。 |
HideRowZeros | 隐藏空行。 |
HideTotalForSingleValue | 如果只有一个值,则隐藏总计。 |
MeasuresContainer | 包含度量的容器。 |
RowCount | 网格中的行数。 |
ScriptLanguage | 可以是CSharp或Vb。 |
ScriptText | 脚本代码。 |
ScriptRestristions | 配置脚本限制。 |
SliceFields | 切片字段列表 |
XAxisContainer | 沿X轴放置的字段的容器。 |
YAxisContainer | 沿Y轴放置的字段的容器。 |
基本方法:
方法 | 描述 |
BeginUpdate | 启用更新模式。 |
EndUpdate | 完成更新。 |
Clear | 清除切片数据和字段。 |
Save | 保存切片。保存多维数据集时,它会自动运行。 |
Load | 从文件或流加载切片。 |
Transpose | 转置切片(更改轴)。 |
代码中使用的示例:
FastReport.Olap.Slice.Slice slice1 = new FastReport.Olap.Slice.Slice(); slice1.Cube = cube;
(5)SliceGrid组件以交叉表的形式显示切片,这是设计器的主要工具。允许用户自定义字段布局,添加新字段,排序,分组等。
属性:
属性 | 描述 |
DataZone | 用于在网格中显示数据的设置。 |
XAxisZone | X轴显示区域设置。 |
YAxisZone | Y轴显示区域设置。 |
FilterFieldsZone | 过滤区域设置。 |
XFieldsZone | 在X轴上设置显示尺寸的区域。 |
YFieldsZone | 在Y轴上设置显示尺寸的区域。 |
FieldsZone | 字段列表区域设置。 |
方法:
方法 | 描述 |
Export() | 将报告导出为以下格式之一的方法:
|
ShowFieldsEditor() | 使用切片的字段列表打开窗口。 |
代码中使用的示例:
SliceGrid sliceGrid = new SliceGrid(); sliceGrid.Dock = DockStyle.Fill; sliceGrid.Parent = tabPage1; sliceGrid.Slice = slice1;
此示例显示如何在应用程序代码中创建sliceGrid对象。如果没有这种需要,则可以在“属性”检查器中进行所有设置。
(6)SliceGridToolbar组件是SliceGrid的渲染工具栏:
该工具包如下:
- (1) Save:
- cube
- scheme
- (2) Open:
- cube
- additional cube
- scheme
- (3) Clear grid
- (4) Export to:
- HTML
- DBF
- CSV
- XML
- Open Document Spreadsheet
- Excel
- Excel 2007
- (5) Transport - change the X and Y axes by places
- (6) Hide row zeros
- (7) Hide column zeros
- (8) Row sort type:
- Sort by value of the axis
- Sort by measures totals
- Sort by focused column
- (9) Column sort type:
- Sort by value of the axis
- Sort by measures totals
- Sort by focused row
- (10) Edit measures——指标的设置。这包括设置条件数据突出显示
- (11) Display format——为选定的列或行设置
- (12) Field list——切片中可用的所有字段的列表
- (13)公式编辑器本质上是编程语言C#或VB中的脚本编辑器
- (14) Information——关于切片的信息
属性:
属性 | 描述 |
Grid | 网格为其中的行为工具栏 |
ToolItems | 工具栏项列表 |
使用此组件的一个重要特性是绑定到程序代码中的父对象。也就是说,仅仅将组件“拖动”到表单上并设置其Grid属性是不够的。在程序代码中必须设置Parent属性以在窗体上显示工具栏。例如,这可以是sliceGrid对象,或TabPage,Panel或其他合适的对象。
代码中使用的示例:
FastReport.Olap.Controls.SliceGridToolbar toolbar = new FastReport.Olap.Controls.SliceGridToolbar(); toolbar.Grid = sliceGrid1; toolbar.Parent = sliceGrid1; toolbar.Dock = DockStyle.Top;
在本文的第二部分中,我们介绍其余的对象:Chart,ChartToolbar,DataSource,DBDataSet,DTDataSet。