EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:将最终用户自定义合并到XAF解决方案中

最终用户可以在运行时轻松自定义XAF应用程序用户界面(UI)。布局管理器,列选择器和其他功能允许最终用户以“所见即所得”的方式配置UI。但是,当您作为开发人员在模型编辑器中自定义UI时,必须处理索引,宽度,高度,组等。因此,您可能希望将UI自定义为最终用户,然后合并更改到XAF解决方案中的“应用程序模型”层之一。本主题描述如何使用模型合并工具来完成此任务。例如,列顺序设置将从用户差异合并到模块项目中层。但是,您可以使用相同的方法来合并任何最终用户定制。例如:

  • 列表视图列的可见性,宽度,分组,过滤器设置;
  • 仪表板和详细视图布局;
  • 图表数据透视设置。
注意

移动应用程序不支持用户的模型差异,因此移动平台不支持本主题中描述的方法。

在运行时自定义用户界面

在本主题中,我们将使用MainDemo应用程序,该应用程序位于%PUBLIC%\ Documents \ DevExpress Demos 19.2 \ Components \ eXpressApp Framework \ MainDemo文件夹中。打开MainDemo解决方案(C#或VB),将MainDemo.Win设置为启动项目,然后运行Windows Forms应用程序。选择恢复导航项。您将看到Resume对象的List View。使用拖放操作将File列与Contact交换。

ModelMerge_HowTo_SwapColumns

关闭Windows窗体应用程序。所做的自定义将保存到项目输出文件夹(默认为bin \ Debug \)中的Model.User.xafml文件中。

<ListView Id="Resume_ListView">
  <Columns>
    <ColumnInfo Id="Contact" Index="0" />
    <ColumnInfo Id="File" Index="1" />
  </Columns>
</ListView>

将用户差异合并到模块项目层中

现在,让我们将最终用户自定义项合并到模块项目的“应用程序模型”中。在解决方案资源管理器中,右键单击MainDemo.Win应用程序项目,然后单击“合并用户模型”。在调用的“打开”对话框中,选择Model.User.xafml文件。

ModelMerge_HowTo_MergeUserModel

结果,将调用“模型合并工具”对话框。导航到树列表中的Resume_ListView节点。该节点标题以粗体显示,因为该节点包含自定义项。使用左侧的复选框选择该节点。在下面的下拉列表中,选择MainDemo.Module,然后单击合并。该Resume_ListView节点的差异将被合并到MainDemo.Module项目。

ModelMerge_HowTo_MergeDialog

最后,单击“保存”以保留更改并关闭“模型合并工具”对话框。

注意
  • 您可以一次选择多个节点,然后根据需要重复多次合并操作,然后再单击“保存”。如果部分所选差异无法应用于所选目标,则会显示警告消息。在这种情况下,您可以尝试另一个目标(例如MainDemo.Module.Win)。
  • 如果您的应用程序已经部署,并且最终用户之一具有精心设计的布局,则您可能希望在新版本的应用程序中使用此布局。在这种情况下,只需从最终用户工作站复制Model.User.xafml文件,然后在运行“模型合并工具”时在“打开”对话框中选择此文件。

检查变更

合并后,您可以在为MainDemo.Module项目调用的模型编辑器中看到Resume_ListView节点自定义

ModelMerge_HowTo_ME

要在运行时测试更改,请重置用户模型差异。最简单的方法是从应用程序项目输出文件夹中删除Model.User.xafml文件。然后,运行Windows窗体应用程序以查看是否根据需要自定义了布局。

ModelMerge_HowTo_Win

当差异被移到与平台无关的模块中时,您可以看到您的自定义也将影响ASP.NET应用程序。

ModelMerge_HowTo_Web

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