EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

视图项目布局生成

eXpressApp Framework根据应用程序模型信息自动生成所有仪表板视图和详细信息视图。有一些规则用于生成默认布局,以最小化所需的自定义。这些规则在本主题中进行了描述。

仪表板视图和详细视图是使用存储在应用程序模型的视图” | “视图”中的信息生成的。DashboardViewDetailView节点。这些节点有两个子节点:ItemsLayout。前者用于填充CompositeView.Items集合。视图的布局管理器使用后者来安排为Items集合中的每个项目创建的布局项目。下图演示了“项目”和“布局”节点。

Layout_ModelEditor

注意

移动应用程序不支持DashboardView和Tabbed组。

以下是为“详细信息视图”生成“布局”节点的规则。

  • 在“项目”节点中为每个“查看项目”表单生成一个布局项目。请注意,默认情况下,“项目”节点仅包含属性编辑器(请参阅“应用程序模型”中的“业务模型”)。此外,对于使用VisibleInDetailViewAttribute属性(参数值设置为false)的属性,不会生成项目。
  • 如果只有一个“属性编辑器”代表XPCollection类型的属性,则会创建一个单独的布局组。
  • 如果有多个表示XPCollection类型属性的属性编辑器,则会创建一个单独的选项卡式组。
  • 如果存在表示简单属性(例如值类型或枚举属性)的属性编辑器,则会创建一个单独的布局组(“ SimpleEditors”组)。如果这些属性编辑器有四个以上,则将在“简单编辑器”组中创建两个布局组,然后在这些组之间划分属性编辑器。创建的版式组水平对齐,而编辑器则垂直放置在其中。
  • 对于所有其余的属性编辑器,将创建一个“可调整的编辑器”布局组。
  • 对于代表继承属性的属性编辑器,将在公共布局组中创建单个组。
  • 在一个组中,属性编辑器首先按IModelCommonMemberViewItem.RowCount排序,然后按IModelNode.Index排序,然后按业务类的属性声明顺序排序。该指数属性可以使用代码来设置IndexAttribute

考虑以下示例。在下图中,左图显示了示例联系业务类的“详细信息视图”的自动生成的布局。右边的图像说明了自动生成的布局的结构。

布局侧边

  • 联系人类继承了人物类,它具有一定的公共属性。所以,两个嵌套布局组在创建的简单编辑-布局集团联系
  • 联系类只有四个公共属性,所以它们的属性编辑器被直接放进联系布局集团。
  • 由于Person业务类公开了四个以上的公共属性,因此创建了两个嵌套的布局组-Person_col1Person_col2。代表Person类的公共属性的属性编辑器在这两个布局组之间划分。
  • 字符串类型Notes公共属性属于Contact类。但是,它应用了Size(-1)属性,因此假定其属性编辑器的高度可变。这就是为什么将Notes属性编辑器放入“可调整的编辑器”布局组中的原因。
  • 最后,TaskChange HistoryPhone NumbersXPCollection类型的属性。因此,将创建“选项卡式选项卡式组”,并将每个“属性编辑器”放入一个单独的布局组中。
相关文章

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