XAF-BI.Dashboard模塊概述 web/win,bidashboard
Dashboard模塊介紹了在ASP.NET XAF 和 WinForms 應用程序中簡單的集成 DevExpress Dashboard控件的方法。
其實不僅僅是控件,利用了現有的XAF數據模型,這是非常關鍵的。

小貼士
XAF中帶了示例程序了。默認情況下,在你本機的 %PUBLIC%\Documents\DevExpress Demo 16.2\Components\eXpressApp Framework\FeatureCenter。web版本的也有: http://demos.devexpress.com/XAF/FeatureCenter/。
Dashboards 模塊能干點啥
最終用戶:
在運行時創建Dashboard並保存他們。Dashboard存儲在數據庫中。
在列表視圖中查看和修改中的Dashboard,可以在導航中顯示Dashboard項目。
開發人員:
預定義Dashboard,程序發布後,就可以直接看到結果了。
創建導航中創建Dashboard項目。
自定義儀表板的控制選項和行為。
注意
不要把 DashboardView 把Dashboard搞混了,他們倆是不同的東西,DashboardView是將XAF中的幾個視圖顯示在一個界面中,和Dashboard沒有一毛錢的關系。
Dashboards 模塊使用的控件
- DashboardDesigner - 在winform中使用了這個控件。
- DashboardViewer - 在winform中使用了這個控件.
- ASPxDashboard - 在asp.net中使用了這個查看結果.
上面這幾行只是告訴你用了什麼,實際上如果不做定制個性化擴展開發,並不需要了解這個。
Dashboards 模塊組件
如果你是老項目升級過來的,需要把這些模塊拖到對應的項目中去。
- DashboardsModule - 在Module Designer中拖這個到xxx.Module項目中去.
- DashboardsWindowsFormsModule - 拖這個到xxx.Module.Win或winapplication中.
- DashboardsAspNetModule -拖這個到xxx.Module.Web或webApplication中.

Note
- 新建的項目,可以直接選擇這個模塊的,不需要上面的拖拽步驟.
- 如果想用代碼方式進行填加可以將模塊類型填加到: XafApplication.Modules 或 ModuleBase.RequiredModuleTypes (當然你得先填加引用文件).
Dashboards 模塊提供了下面的View Items 可以將dashboard顯示到detailview或dashboardview中.
- WinDashboardViewerViewItem
- WebDashboardViewerViewItem
Dashboards 擴展了應用程序模型( Application Model )- IModelDashboardNavigationItem 結點,為IModelClass類新增加了 IModelClassDashboardsVisibility.IsVisibleInDashboards 屬性。
幾個意思呢:在xafml的bo上面上,可以設置 IsVisibleInDashboards屬性,設置為true時,在創建dashboard時,才能選到這個類型。就像報表模塊一樣。
Dashboard 數據類型
Dashboard的數據是保存到數據庫的(ORM實體實現的),如果你使用了XPO,這是自動的,不用想這個事就行了。如果你使用的是EF,需要手動的設置一下,給DashboardsModule.DashboardDataType 設置類型就行了。
同時要將類型填加到
DBContext.
如果你要實現自己的保存數據實體類,可以繼承自DashboardData或實現
IDashboardData 接口。弄好後還要設置上面說的
DashboardsModule.DashboardDataType為你的類型。
Winform中運行時創建,查看和編輯Dashboards
-
在航中,打開Report那個分組,選中 Dashboards 項目,並點擊 New.
注意
如果你不能找到 Reports | Dashboards 導航項目,可能是上面講的拖拽的事你沒干。並且 DashboardsModule.GenerateNavigationItem 也要設置成True.
-
執行 Data Source Wizard, 選擇 XAF Object Data Source 點擊Next.

-
這裡要選擇一個業務模型(BO),然後按 Finish.
注意
在下拉框中,你可以看到使用了 DefaultClassOptionsAttribute 或 VisibleInDashboardsAttribute 的BO,或在XAFML中設置了 IModelClassDashboardsVisibility.IsVisibleInDashboards 為true的BO.
-
執行 Dashboard Designer.
重要
在dashboard中顯示枚舉類型本地化(漢化),填加計算字段到數據源類.設置 IModelMember.Expression 為 GetEnumCaption([Enum Property]).在設計器中,綁定項目到這個計算字段在枚舉字符。
-
之後, dashboard 被保存了,在 Dashboards 列表中,你可以雙擊去查看.

注意
在winform程序中,你可以訪問在ASP.NET中建立的dashboard,因為都是一個庫!
-
下圖展示了如何修改存在的dashboard.
在上下文菜中也有.

在ASP.NET Application中創建, 查看和編輯 Dashboards
-
和win是一樣的,只是長得不太一樣.
-
創建
-
開始設置
-
保存之後

注意
同樣的,你可以看到win中創建的dashboard.
-
編輯現有的.
