0

我是使用 DevExpress 工具的新手。我设计了一个 GridControl,它在下一级有一个主 GridView 和三个其他 Gridview。我打开了主 GridView 的选项:EnableMasterViewMode = True 和 EnableDetailToolTip = true。

我想设计类似的东西: http ://demos.devexpress.com/ASPxGridViewDemos/MasterDetail/Det​​ailTabs.aspx

所以:

  1. 当我运行项目时,我的设计只是呈现了第一层,我如何才能看到上一个链接中出现的嵌套网格的视图?

  2. 我将在网格中绑定的数据在运行时存储在列表中,而不是在数据库中,那么我如何从该列表而不是数据库中填充网格单元格和列?

4

1 回答 1

1

资源:

如果您使用的是 WinForms,请查看以下帮助主题:将控件绑定到运行时创建的数据如何:将控件绑定到运行时创建的数据

GridControl自动将返回集合的属性视为主从关系。因此,您只应在您的类中实现相应的属性并将主集合分配给该GridControl.DataSource属性,就像您为标准 .Net DataGridView 控件所做的那样。此任务并非特定于我们的 XtraGrid。也请尝试 XtraGrid 附带的 GridTutorials 项目的 GridUnboundMasterView 模块。

Grid 仅在其根级别为实现 IList 接口的属性创建详细视图。此行为在GridControl 中进行了描述 - 如果详细信息集合类型是从 IList票证继承的接口类型,则现在创建详细信息视图。推荐的方法是与 IList 一起实现 IList 接口。在这种情况下,网格将自动创建详细视图,如通过集合属性帮助主题实现对象的主从关系中所述。您还可以通过此处描述的事件提供主从关系。

示例代码片段:

gridControl1.DataSource = new NestedRecords();
//... 
public class NestedRecords : ArrayList {
    public NestedRecords() {
        Add(new NestedRecord("Customers", new ChildRecordsCustomers()));
        Add(new NestedRecord("Products", new ChildRecordsProducts()));
        Add(new NestedRecord("Shippers", new ChildRecordsShippers()));
    }
    public virtual new NestedRecord this[int index] {
        get { return (NestedRecord)(base[index]); }
    }
}

参考:
具有 IList 属性的
主详细信息 使用 iList
的主详细信息 如何使用 Ilist 创建主详细信息网格控件 XtraGrid
如何检测主详细信息网格的集合

如果您使用的是 WebForms,请查看以下文档帮助主题:主从关系并尝试实现获取集合 dataSource 而不是 dataTable。

于 2013-01-24T06:19:22.517 回答