EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:允许管理员在基于XPO的应用程序中创建自定义持久字段

您可以允许应用程序管理员创建自定义的持久字段并在UI中显示添加的字段的数据,而无需重新编译应用程序。在此示例中,SkypeID字段将被添加到MainDemo应用程序中的Contact业务对象。

CustomPersistentFields_Result

以下各节描述了从应用程序设置到运行时自定义的实现自定义持久字段的过程。

先决条件

确保您的应用程序不违反以下条件。否则,将无法在运行时创建新的持久字段。

  • WinForms和ASP.NET应用程序应基于XPO数据模型。
  • 移动应用程序不重新编译就不支持UI定制,因此移动平台不支持本主题中描述的方法。
  • 以下功能不能一起使用。

    使用此配置,您的应用程序从数据库加载有关自定义持久性字段的信息,然后更新数据库架构。但是,建立数据库连接后,线程安全数据层不支持更改数据模型。

  • 中间层安全性-WCF服务,Workflow Server服务或创建和配置ServerApplication / XafApplication的任何其他应用程序无法访问在客户端XAF应用程序项目中添加的自定义字段(在代码中或在XAFML中),或者无法通过在运行时自定义应用程序模型。您应该在一个通用模块中添加一个自定义字段,并在所有要使用它的应用程序中对其进行引用。

设置应用程序

在应用程序代码中应用以下更改,以允许应用程序管理员在UI中创建和显示自定义持久字段数据。

选择模型编辑器类型

有必要确定哪种类型的模型编辑器适合您的应用程序:独立的还是内置的。

  • 内置的模型编辑器

    管理员使用WinForms应用程序时,可以调用内置的“模型编辑器”工具来向应用程序模型添加自定义字段。使用此模型编辑器类型,管理员可以编辑存储在应用程序数据库中的模型差异和XAFML文件中的模型差异。

  • 独立的模型编辑器

    如果管理员仅使用ASP.NET应用程序且Model Differences存储在XAFML文件中,则首选使用独立的Model Editor。有关如何使用此工具的信息,请参阅调用模型编辑器的方式”主题的“部署和运行独立模型编辑器”部分。

实施持久字段并显示它

请按照以下步骤在最终用户工作站上添加自定义持久字段。

  1. 使用工具|调用内置的模型编辑器。在运行时编辑模型命令或关闭应用程序,然后通过运行DevExpress.ExpressApp.ModelEditor.v 19.2 .exe可执行文件来启动独立的模型编辑器。

    如果使用独立的模型编辑器,请指定应用程序配置文件的路径(例如MainDemo.Win.exe.configWeb.config),然后在“打开模型”对话框中单击“打开” 。

    CustomPersistentFields_RunME

  2. 导航到BO_Model | 左侧树中的联系人节点。右键单击OwnMembers子节点,然后选择添加... | 成员

    CustomPersistentFields_AddMember

  3. 将新添加的节点的名称属性设置为“ SkypeID”。然后,将IsCalculated属性设置为“ False”,将类型设置为“ System.String”,将大小设置为“ 32”,将标题设置为“ Skype ID”。

    CustomPersistentFields_MemberProperties

  4. 如果正在使用内置的“模型编辑器”,请使用“合并差异”命令复制在管理员层中引入的差异。否则,请跳过此步骤,然后转到下一个步骤。

    CustomPersistentFields_Merge

  5. 使用“保存”按钮或CTRL S快捷方式保存更改,然后重新启动“模型编辑器”。
  6. 导航到视图| 左侧树中的Contact_DetailView节点。右键单击该项目的子节点,然后选择添加... | PropertyEditor

    CustomPersistentFields_AddEditor1

  7. PropertyNameId设置为“ SkypeID”。

    CustomPersistentFields_AddEditor2

  8. 重点关注“布局”节点。右键点击右侧显示的表单预览中的空白区域,然后选择自定义布局

    CustomPersistentFields_AddEditor3

  9. Skype ID项目从调用的“自定义”窗口拖动到表单中的适当位置。

    CustomPersistentFields_AddEditor4

    您也可以使用类似的方法将Skype ID列添加到“联系人列表”视图中(请参阅“列表视图列自定义”)。

  10. 如果正在使用内置的“模型编辑器”,请按照第四步所述合并差异。
  11. 保存更改并关闭“模型编辑器”。
  12. 将更改应用于数据库部分中所述,更新数据库架构。
  13. 重新启动应用程序,然后打开“联系人详细信息视图”以查看在本主题介绍中演示的结果。
重点

如果应用程序安装在多台PC上,并且管理员的Model Differences存储在Model.xafml文件中,请将其从应用程序的工作文件夹复制到每台PC。否则,创建的字段将仅在添加它的工作站上可用。

将更改应用到数据库

使用DBUpdater工具将映射到新创建的自定义持久性字段的列添加到数据库。

打开命令提示符,将当前目录更改为应用程序工作目录,然后运行以下命令。

DBUpdater.v 19.2 .exe MainDemo.Win.exe.config -forceUpdate

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