FastCube.Net元件教程(一):多維資料集
在本文中將瞭解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。