XAF-BI.Dashboard模块概述 web/win
Dashboard模块介绍了在ASP.NET XAF 和 WinForms 应用程序中简单的集成 DevExpress Dashboard控件的方法。
其实不仅仅是控件,利用了现有的XAF数据模型,这是非常关键的。
Dashboards 模块能干点啥
Dashboards 模块使用的控件
- DashboardDesigner - 在winform中使用了这个控件。
- DashboardViewer - 在winform中使用了这个控件.
- ASPxDashboard - 在asp.net中使用了这个查看结果.
上面这几行只是告诉你用了什么,实际上如果不做定制个性化扩展开发,并不需要了解这个。
Dashboards 模块组件
- DashboardsModule - 在Module Designer中拖这个到xxx.Module项目中去.
- DashboardsWindowsFormsModule - 拖这个到xxx.Module.Win或winapplication中.
- DashboardsAspNetModule -拖这个到xxx.Module.Web或webApplication中.

- 新建的项目,可以直接选择这个模块的,不需要上面的拖拽步骤.
- 如果想用代码方式进行填加可以将模块类型填加到: XafApplication.Modules 或 ModuleBase.RequiredModuleTypes (当然你得先填加引用文件).
Dashboards 模块提供了下面的View Items 可以将dashboard显示到detailview或dashboardview中.
Dashboards 扩展了应用程序模型( Application Model )- IModelDashboardNavigationItem 结点,为IModelClass类新增加了 IModelClassDashboardsVisibility.IsVisibleInDashboards 属性。
几个意思呢:在xafml的bo上面上,可以设置 IsVisibleInDashboards属性,设置为true时,在创建dashboard时,才能选到这个类型。就像报表模块一样。
Dashboard 数据类型
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中显示枚举类型本地化(汉化),填加计算字段到数据源类.设置 IModelMember.Expression 为 GetEnumCaption([Enum Property]).在设计器中,绑定项目到这个计算字段在枚举字符。
-
之后, dashboard 被保存了,在 Dashboards 列表中,你可以双击去查看.
在winform程序中,你可以访问在ASP.NET中建立的dashboard,因为都是一个库!
-
下图展示了如何修改存在的dashboard.
在上下文菜中也有.
在ASP.NET Application中创建, 查看和编辑 Dashboards
-
和win是一样的,只是长得不太一样.
-
创建
-
开始设置
-
保存之后
同样的,你可以看到win中创建的dashboard.
-
编辑现有的.
XAF开发成品案例参考
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
作者博客: http://www.cnblogs.com/foreachlife
欢迎加入CIIP框架\XAF技术应用交流群: 336090194 群文件中有更多相关工具及文档资料
转载请注明出处。多谢!
欢迎加我微信: admiralcn 或扫码:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端