EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

显示视图的方式

通常,视图是响应于用户输入而显示的,例如,当单击菜单项时。本主题列出了可用于创建和显示视图的方法。

从导航显示视图

导航系统由导航控制,其中列出了所有可用的视图,并提供手段来激活所需的视图中显示。导航结构定义了视图顺序和层次结构。

请注意,在“移动”应用程序中,仅显示“默认”组的节点。

在代码中向导航添加视图

将列表视图添加到导航的最简单方法是将DefaultClassOptionsAttribute属性应用于业务类。如此一来,新的导航项添加到默认组。

[DefaultClassOptions]
public class Contact {
    //...
}

您也可以出于相同目的使用NavigationItemAttribute。区别在于,此属性允许您指定导航组,而DefaultClassOptions属性始终将项添加到默认组。

[NavigationItem("Management")]
public class TestPerson : BaseObject {
    //...
}

您可以使用DefaultClassOptionsNavigationItem属性仅显示列表视图。继续查看如何显示其他视图类型。

在设计器中向导航添加视图

您可以使用模型编辑器将列表视图,详细视图或仪表板视图添加到导航中。该NavigationItems节点定义树状的使用导航项目结构IModelNavigationItem子节点。在现有层次结构中创建一个新的NavigationItem节点,并将IModelNavigationItem.View属性设置为目标列表视图,以从导航显示该视图。

Tutorial_EF_Lesson4_4

要从导航显示明细视图,您还应该指定IModelNavigationItem.ObjectKey属性值。

将项目添加到导航控制”教程中提供了完整的示例。

使用动作显示视图

当用户单击自定义Action时,可以显示特定的View 。从技术上讲,导航系统也是一个Action(请参阅ShowNavigationItemController.ShowNavigationItemAction)。从导航显示视图时,将自动创建该视图。但是,当您使用自定义Action时,将需要以下方法之一来创建View对象。

可以在执行动作之前(例如,收集执行所需的用户输入)和执行之后(例如,显示某些结果数据)显示视图。

在操作的“执行”事件发生之前显示视图

如果需要在执行操作之前显示视图,请使用PopupWindowShowAction操作。在这种操作类型中,首先触发PopupWindowShowAction.CustomizePopupWindowParams事件。然后,显示弹出窗口。最后,当在弹出窗口中单击“确定”按钮时,将引发PopupWindowShowAction.Execute事件。您可以处理CustomizePopupWindowParams事件以创建和配置显示的View。

private void popupWindowShowAction1_CustomizePopupWindowParams(
    object sender, CustomizePopupWindowParamsEventArgs e) {
    e.View = Application.CreateListView(typeof(Note), true);
}

添加显示弹出窗口的操作”教程中提供了列表视图的完整示例。有关如何创建和显示详细视图的示例,请参阅“如何:在弹出窗口中创建和显示选定对象的详细视图”主题。

执行动作后显示视图

在这种情况下,可以使用以下操作类型之一。

处理Action的Execute事件,访问ActionBaseEventArgs.ShowViewParameters参数并将View传递给ShowViewParameters.CreatedView属性。

private void simpleAction1_Execute(object sender, SimpleActionExecuteEventArgs e) {
    IObjectSpace objectSpace = Application.CreateObjectSpace(typeof(Person));
    e.ShowViewParameters.CreatedView = Application.CreateListView(objectSpace, typeof(Person), true);
}

所述ShowViewParameters对象还允许配置所显示的视图的其他参数,诸如目标窗口类型,模板类型和相关联的控制器。例如,您可以指定传递给ShowViewParameters.CreatedView属性的View应该显示在弹出窗口中。有关其他信息,请参见ShowViewParameters类主题。

如果要在执行操作时显示简单的文本通知,请使用ShowViewStrategyBase.ShowMessage方法。

注意

PopupWindowShowAction还传递ShowViewParameters.CreatedView参数,其执行的事件处理程序。在弹出窗口中执行DialogOK Action时,将显示传递给该属性的View 。

要了解有关使用这些操作的更多信息,请参阅“添加简单操作”“使用选项选择添加操作”和“添加参数化操作”主题。

显示来自自定义上下文的视图

使用动作显示视图是最方便和推荐的方法。但是,在某些罕见的情况下,可能会要求您显示与任何操作都不相关的视图。在这种情况下,使用XafApplication.CreateListViewXafApplication.CreateDetailViewXafApplication.CreateDashboardView方法创建一个View 。然后,您可以将创建的View对象传递给以下方法之一。

非持久视图的详细信息

可以使用相同的技术来显示非持久对象的视图。但是,在显示这些视图之前,您应该手动为其提供数据。例子:

显示自定义非XAF表单

您可以在Visual Studio中设计自定义表单或用户控件,然后将它们添加到XAF应用程序中。在大多数情况下,您可以创建一个Controller并在ActionExecute事件上显示该表单。

有关更多信息,请参阅以下文章:

相关文章

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