【问题标题】:DevExpress Datagrid Master-Detail Multiple List<type> as a Datasource - GuidanceDevExpress Datagrid Master-Detail Multiple List<type> 作为数据源 - 指南
【发布时间】:2016-08-22 11:02:38
【问题描述】:

我的程序有两个自定义类型列表。第一个列表是主列表,包含计划,第二个列表是详细列表,包含针对主列表采取的操作。

我正在尝试将这些绑定列表应用到具有上述关系(主-详细信息)的 Windows 窗体中的 DevExpress 网格控件,但我对如何执行此操作感到困惑。我阅读的示例和演练使用 ADO 数据集。

我想我必须获取这两个列表并在某种数据集文件中编写关系并将其链接到网格,但我必须承认我不知道。欢迎任何指导。

谢谢:)

附:我应该提一下,我已经成功地将主视图绑定到一个列表,但是当我尝试将详细视图绑定到数据源时,我的麻烦就来了。在我看来,数据源只会接受一个绑定源,而绑定源只会接受一个绑定列表。

【问题讨论】:

    标签: c# list devexpress


    【解决方案1】:

    GridControl 足够智能,可以直接根据数据类型检测主从关系:

    gridControl1.DataSource = new List<Blog> { 
        new Blog { 
            Url = "http://blogs.msdn.com/adonet",
            Posts = new List<Post>{
                new Post() { Title = "The First" },
                new Post() { Title = "The Second" }
            } 
        }
    };
    


    该关系通过 List-property 定义到 Blog 类级别:

    public class Blog {
        public string Url { get; set; }
        public List<Post> Posts { get; set; } // <<<
    }
    public class Post {
        public string Title { get; set; }
        public string Content { get; set; }
    }
    

    【讨论】:

    • 这看起来不错。让我试一试,然后在这篇文章中回复你:)
    • ...但我应该说我遇到了一个小问题。我有十个主记录,其中一个记录有详细记录。设置网格控件的数据源后,我看到十个主记录和一个嵌套在正确主文件下的详细记录。也就是说,我没有看到任何主记录值,但我确实看到了详细记录值。我已经检查了属性名称是否与 gridview 所期望的匹配,并且它们确实如此。如果您对此有任何指导,我将不胜感激。我会在主帖中附上一张图片作为“参考下面的评论”。
    • 按住新闻!我得到了它。我必须在字段名称前加上对具有属性的类型的引用,即“Plan.PlanIdentity”。再次感谢您的帮助和时间。 :)
    猜你喜欢
    • 1970-01-01
    • 2018-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2012-03-31
    • 2021-11-11
    相关资源
    最近更新 更多