1. 程式人生 > >如何製作一個簡單的FastCube.Net多維編輯器

如何製作一個簡單的FastCube.Net多維編輯器

下載FastCube最新版本

FastCube.Net檢視和編輯多維資料集和切片,首先需要建立一個特殊應用程式。由於FastCube.Net以庫和元件的形式出現,使用者可以輕鬆地將多維資料集編輯器嵌入到現有的WinForms應用程式中,或者專門建立一個單獨的編輯器。本文將介紹如何以兩種方式建立簡單的多維資料集和切片編輯器:使用控制元件或程式程式碼。

(1)檢視控制

建立Windows Form Application(Windows窗體應用程式)。新增一個帶有三個選項卡的tabControl元件:Slice,Cube和Chart。Slice上,顯示OLAP多維資料集的切片;Cube顯示 多維資料集中的資料;Chart顯示切片上的圖表。將libraries(庫)連線到專案:FastReport.Olap和FastReport.Bars。在工具箱中有一組FastCube控制元件:

將多維資料集控制元件拖到表單中,DataSource屬性中為多維資料集提供了4種類型的資料來源:DataSource-來自資料庫的資料;File-來自多維資料集檔案的資料;Stream-來自流的資料;Manual-手動填充,在示例中,使用包含資料File(檔案型別)的多維資料集檔案。從應用程式程式碼下載多維資料集檔案,例如:在OnLoad事件中:cube1.Load(“C:/ Program Files(x86)/FastReports/FastCube.Net Professional / Demos / Data / Cubes / 2_0_sample_en1.mdc”)。現在將Slice元件新增到表單中, 在屬性中,只需要選擇一個多維資料集:

顯示多維資料集和切片,在“Slice(切片)”選項卡上,放置SliceGrid控制元件。設定Slice屬性,選擇slice1的值。

將CubeGrid控制元件新增到Cube選項卡,在其Cube屬性中選擇cube1。

在第三個選項卡Chart(圖表),新增圖表控制元件:

在新增的控制元件的屬性中,找到Slice並選擇slice1的值。現在執行應用程式,將看到載入的多維資料集、切片和圖表,但無法載入另一個多維資料集或將更改儲存在當前的多維資料集中。需要為每個元件新增工具欄:SliceGrid,CubeGrid和Chart。為此,將以下元件從工具箱拖到窗體上:SliceGridToolbar,CubeGridToolbar,ChartToolbar。元件將顯示在表單下方:

在chartToolbar屬性中,找到Chart並選擇值chart1;對於cubeGridToolbar,將Grid屬性設定為cubeGrid1;在Grid欄位的sliceGridToolbar屬性中,選擇sliceGrid1。現在需要將這些工具欄繫結到相應的選項卡。在OnLoad表單的load事件中新增三行程式碼:sliceGridToolbar1.Parent = tabPage1;cubeGridToolbar1.Parent = tabPage2;chartToolbar1.Parent = tabPage3;現在執行應用程式:

SliceGridToolbar位於頂部,slice(切片)是來自多維資料集的指定維度和度量的資料樣本。

此處顯示多維資料集中的所有資料:

該圖基於切片的資料,還有工具欄。

(2)程式程式碼

用滑鼠新增到表單中的所有內容,都可以在應用程式程式碼中手動編寫。新增以下庫:FastReport.Olap,FastReport.Bars,System.Windows.Forms.DataVisualization;在窗體上,新增一個帶有三個選項卡的TabControl控制元件,開啟表單程式碼(在using部分,我們需要libraries):

using System;
using System.Windows.Forms;
using FastReport.Olap.Controls;
using FastReport.Olap.Chart;

用於建立和配置元件的所有程式碼,例如:在類建構函式中:

public Form1()
 {
 InitializeComponent();
 
 FastReport.Olap.Cube.Cube cube = new FastReport.Olap.Cube.Cube();
 FastReport.Olap.Slice.Slice slice1 = new FastReport.Olap.Slice.Slice();
 slice1.Cube = cube;
 
 SliceGrid sliceGrid = new SliceGrid();
 sliceGrid.Dock = DockStyle.Fill;
 sliceGrid.Parent = tabPage1;
 sliceGrid.Slice = slice1;
 
 SliceGridToolbar sliceGridToolbar = new SliceGridToolbar();
 sliceGridToolbar.Dock = DockStyle.Top;
 sliceGridToolbar.Parent = tabPage1;
 sliceGridToolbar.Grid = sliceGrid;
 
 CubeGrid cubeGrid = new CubeGrid();
 cubeGrid.Dock = DockStyle.Fill;
 cubeGrid.Parent = tabPage2;
 cubeGrid.Cube = cube;
 
 CubeGridToolbar cubeGridToolbar = new CubeGridToolbar();
 cubeGridToolbar.Dock = DockStyle.Top;
 cubeGridToolbar.Parent = tabPage2;
 cubeGridToolbar.Grid = cubeGrid;
 
 Chart chart = new Chart();
 chart.Dock = DockStyle.Fill;
 chart.Parent = tabPage3;
 chart.Slice = slice1;
 
 ChartToolbar chartToolbar = new ChartToolbar();
 chartToolbar.Dock = DockStyle.Top;
 chartToolbar.Parent = tabPage3;
 chartToolbar.Chart = chart;
 
 cube.Load("J:\\Program Files (x86)\\FastReports\\FastCube.Net Professional\\Demos\\Data\\Cubes\\2_0_sample_en1.mdc");
 }

應用程式準備就緒,使用滑鼠拖放控制元件。以上所示兩種方法均可以建立一個簡單的FastCube.Net多維編輯器