1. 程式人生 > >FastCube.Net元件教程(一):多維資料集

FastCube.Net元件教程(一):多維資料集

在本文中將瞭解FastCube.Net庫中包含的元件,元件列表:

  • Cube——從檔案載入多維資料集並用資料填充它的主要元件;
  • CubeGrid——用於顯示多維資料集的所有資料;
  • CubeGridToolbar——是CubeGrid的工具欄;
  • Slice——包含多維資料切片;
  • SliceGrid——用於顯示多維資料切片
  • SliceGridToolbar——Slice網格的工具欄;
  • Chart——基於切片資料;
  • ChartToolbar——圖表的工具欄;
  • DataSource——多維資料集的資料來源。
  • DBDataSet——從資料庫中獲取的資料集;
  • DTDataSet——來自DataTable的資料集。

FastCube最新版下載

元件關係案例:

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 資料來源的型別指示資料填充多維資料集的位置。可以採用以下值之一:
  • Empty
  • DataSource
  • File
  • Stream
  • Manual

方法:

方法 描述
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 將多維資料集匯出為以下格式之一:
  • HTML
  • DBF
  • CSV
  • XML
  • 開啟的電子表格文件
  • Excel
  • Excel 2007
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() 將報告匯出為以下格式之一的方法:
  • HTML
  • DBF
  • CSV
  • XML
  • 開啟的電子表格文件
  • Excel
  • Excel 2007
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。