EPR类企业管理系统

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


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:在XAF视图(WinForms)中显示自定义数据绑定控件

本示例演示如何将自定义数据绑定(数据感知)控件添加到视图,以及如何从WinForms XAF应用程序中的导航显示该视图。出于演示目的,在本示例中,您将带有CardView的GridControl控件添加到EFDemo应用程序(默认情况下安装到%PUBLIC%\ Documents \ DevExpress Demos 19.2 \ Components \ eXpressApp Framework \ EFDemoCodeFirst)。但是,您可以在自己的XAF应用程序中将相同的方法与任何其他自定义控件一起使用。

DataBoundControlWin

提示

如何:在XAF视图(ASP.NET)中显示自定义数据绑定控件中提供了ASP.NET的类似示例。

创建一个用户控件

在WinForms模块项目中,创建一个User Control。右键单击该项目,然后选择添加|。用户控制...

DataBoundControlWin1

从工具箱中向设计器添加所需的控件,例如GridControl

DataBoundControlWin2

根据需要自定义控件;例如,将GridControl.MainView转换为CardView

数据绑定控件Win3

提示

您也可以从DX添加CollectionDataSource组件19.2:“报表的XAF数据源”工具箱组,然后将控件绑定到此组件。使用DataSourceBase.ObjectTypeName属性可以指定所需的业务对象类型。这将使您能够查看设计器中的数据列并根据需要自定义它们。实际的数据绑定将在代码中进一步执行。

使用对象空间将控件绑定到数据

关闭设计器,右键单击UserControl1.csUserControl1.vb)文件,然后选择“查看代码”以编辑用户控件代码。实现IComplexControl接口。在IComplexControl.Setup方法中,可以使用objectSpace参数访问对象空间,使用对象空间API读取所需的数据,然后初始化控件的数据源。在IComplexControl.Refresh方法(当用户单击“刷新操作”时执行),可以重新创建控件的数据源。下面的代码演示了分配给GridControl.DataSource属性的DemoTask对象。

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Editors;
// ...
public partial class UserControl1 : UserControl, IComplexControl {
    public UserControl1() {
        InitializeComponent();
    }
    private IObjectSpace objectSpace;
    void IComplexControl.Setup(IObjectSpace objectSpace, XafApplication application) {
        gridControl1.DataSource = objectSpace.GetObjects<EFDemo.Module.Data.DemoTask>();
        this.objectSpace = objectSpace;
    }
    void IComplexControl.Refresh() {
        gridControl1.DataSource = objectSpace.GetObjects<EFDemo.Module.Data.DemoTask>();
    }
}
提示

您还可以使用XafApplication.Model属性使用application参数来访问某些Application Model设置,并相应地自定义控件

将ControlViewItem视图项添加到视图

在WinForms模块项目中,双击Model.DesignedDiffs.xafml文件以启动“模型编辑器”。右键单击“视图”节点,然后选择“添加” |“添加”。DashboardView

数据绑定控件Win4

Id属性设置为TaskCardView

DataBoundControlWin5

用鼠标右键单击视图|。TaskCardView | 项目节点,然后选择添加... | ControlDetailItem

数据绑定控件Win6

Id属性设置为TaskCardView,并将IModelControlDetailItem.ControlTypeName属性设置为您创建的自定义用户控件的类型(例如EFDemo.Module.Win.UserControl1)。

数据绑定控件Win7

重点关注“布局”节点。右键单击右侧的设计器图面,然后选择“自定义布局”。然后,右键单击TaskCardView布局项目,然后选择“隐藏文本”

数据绑定控件Win7.1

注意

您可以将ControlViewItem视图项目添加到任何现有的详细信息视图或仪表板视图中,而不用创建新的仪表板视图。

创建一个导航项,以使用自定义控件显示视图

导航到NavigationItems | 物品| 默认值| 项目节点。右键单击Items节点,然后选择Add''。调用的上下文菜单中的NavigationItem

数据绑定控件Win8

对于新添加的节点,在IModelNavigationItem.View下拉列表中,选择您之前创建的视图(TaskCardView)。

数据绑定控件Win9

运行WinForms应用程序,然后在导航中单击“任务卡视图”。将显示绑定到DemoTask集合的Card View(请参阅本主题开头的图像)。

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