EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

视图变体模块

eXpressApp Framework允许在设计时,在代码中以及由最终用户自定义View。您可能希望提供同一View的多个自定义变体,并允许最终用户在运行时选择所需的View Variant。例如,最终用户可能需要在不同情况下使用不同的“列表视图”列集和“详细视图”布局。他们可能还需要使用两种List View模式:一个List View和一个带有Detail View的List View(请参阅IModelListView.MasterDetailMode)。XAF在ViewVariantsModule中提供了此功能的内置实现,该实现在DevExpress.ExpessApp.ViewVariantsModule.v 19.2 .dll中声明。集会。本主题将向您展示如何使用此模块来提供同一View的多个版本。以下步骤说明了如何应用此模块的功能。此外,您可以参考“为最终用户提供多个视图变体”教程。

要应用View Variants模块功能,请将此模块添加到您的应用程序或模块项目中。为此,请使用“应用程序设计器”或“模块设计器”。在Designer中进行更改后,请确保重新生成解决方案。

注意
  • 移动应用程序不支持“查看变量”模块。
  • 使用解决方案向导创建新的XAF解决方案时,可以将模块添加到应用程序中。为此,请在“选择其他模块”步骤中选择模块。

  • 要在代码中添加额外的模块,请将其添加到XafApplication.ModulesModuleBase.RequiredModuleTypes列表中(添加对模块程序集的引用是不够的)。

要查看View Variants的演示,可以运行XAF随附的Feature Center应用程序,并导航至View Variants项目,或在线参考Feature Center演示。

概述

视图变模块提供ChangeVariantController 视图控制器。它包含ChangeVariant Action,它允许最终用户选择要在当前窗口(框架)中显示的View Variant。此操作为SingleChoiceAction类型,并具有ChangeVariant ID。其项目由“视图” | “视图”指定。<视图> | 应用模型的Variants节点。如果当前“视图”节点中有两个或多个“变体”子节点,则该操作可见。

在Windows窗体应用程序中:

ViewChangeActionInWindow

在ASP.NET应用程序中:

ViewChangeActionInWeb

要添加视图变体,请执行以下操作:

  • 在应用程序模型中为所需的对象类型定义一个新的视图。为此,将一个新的ListViewDetailView节点添加到Views节点,并指定其ModelClassId属性。在节点的上下文菜单中,选择“生成内容”并指定所需的设置(列集,布局等)。重复此步骤,以根据需要添加尽可能多的视图。
  • 定义一个新视图,该视图将代表所需对象类型的各种列表视图或详细信息视图。给它一个有意义的ID,以使其与该对象类型的其他视图区分开(例如,添加“ _Varied”后缀)。该“视图”节点将存储视图变体。右键单击它并选择添加... | 变体。将添加Variants子节点。
  • 调用Variants节点的上下文菜单,然后选择Add ListView菜单项。指定新添加的节点的IModelVariant.CaptionIModelView.Id属性。通过从下拉列表中选择“视图”来指定IModelVariant.Id属性。请注意,如果View的IModelObjectView.ModelClass属性具有与当前View相同的值,则该View将出现在此下拉列表中。此外,您可以指定IModelNode.Index属性以设置变量的自定义排序顺序。重复此步骤以添加所有新创建的视图和默认视图。
  • 通过从下拉列表中选择一个变体ID,指定“变体”节点的IModelVariants.Current属性。默认情况下将使用此变体。
  • 将所需对象的IModelClass.DefaultListViewIModelClass.DefaultDetailView)属性设置为变化的View的ID。或者,您可以更改特定NavigationItem节点的View属性或特定ListView节点的DetailView,以指定不同的视图而不是默认视图。
  • 确保为根视图和每个变体视图选择了正确的数据访问模式。有关详细信息,请参见IModelListView.DataAccessMode

下图说明了如何在应用程序模型中组织变化的View及其View Variants。

Tutorial_EM_Lesson2_2_4

下图说明了按照上述步骤操作后,WinForms应用程序中可用的ChangeVariant Action。

Tutorial_EM_Lesson2_3

可以从下拉列表中选择一个变体。变体根据其IModelNode.Index属性值进行排序。先前选择的变体ID与用户自定义项一起存储(存储在Model.User.xafml文件或浏览器cookie中)。

在导航中显示视图变体

视图变体也可以添加到导航中。在模型编辑器中,将IModelNavigationItemsVariantSettings.GenerateRelatedViewVariantsGroup属性设置为true。

Tutorial_EM_Lesson2_5

下图说明了结果。

Tutorial_EM_Lesson2_6

自定义视图变体列表

您可以创建一个自定义IVariantsProvider对象,该对象以自定义方式加载视图变体。将您的VariantsProvider分配给ViewVariantsModule.VariantsProvider属性,以替换从应用程序模型加载View Variants的默认ModelVariantsProvider

相关文章

转载保留此链接,注明出处