【问题标题】:Create master/detail grids using XtraGrid Entity framework使用 XtraGrid 实体框架创建主/详细网格
【发布时间】:2012-10-28 04:28:43
【问题描述】:

我是 C#、Entity 和使用网格的初学者,所以虽然我认为我所问的内容有些笼统,但我有点迷茫。 我的 SQL 数据库中有两个表:PeriodicReportsPeriodicReportGroups。每个报告组可以有 1 个或多个定期报告,所以我设想的是一个网格,其中的行在左侧有一个 + 符号并且可以展开,显示每个组的相关定期报告。我知道这是可以做到的,因为我在 DevExpress 支持站点中看到了非常相似的示例,但是尽管我已经花时间尝试理解它们并将它们应用到我的案例中,但我仍然没有想出如何去做。 这就是我的代码的样子。将实体框架与我的表一起使用后,自动创建了这个类:

public partial class ReportEntities : DbContext
{
    public ReportEntities()
        : base("name=ReportEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public DbSet<PeriodicReportGroup> PeriodicReportGroups { get; set; }
    public DbSet<PeriodicReport> PeriodicReports { get; set; }
}

我自己创建了这个界面和类,以便只在我的网格中显示某些列:

    public interface IPeriodicReportGroup
{
    string Name { get; }
    string Description { get; }
    bool Active { get; set; }
}

public partial class PeriodicReportGroup : IPeriodicReportGroup
{
}

另一方面,我的 XtraForm 带有 XtraGrid:

public partial class Form1 : XtraForm
{
    public Form1()
    {
        InitializeComponent();
        InitSkinGallery();
        InitGrid();
    }

    BindingList<IPeriodicReportGroup> gridDataList = new BindingList<IPeriodicReportGroup>();

    void InitGrid()
    {
        var database = new ReportEntities();

        var reportGroups = database.PeriodicReportGroups.ToList( );

        foreach (var group in reportGroups )
            gridDataList.Add( group );

        gridControl.DataSource = gridDataList;
    }
...

到目前为止,我已成功地将数据库中的定期报告组放入网格中,这很好。但是我仍然不知道如何精确设置将为每个组扩展的详细信息网格,尽管我觉得它应该是相当标准的东西。有人可以提供一些指导吗?我不是要求其他人来做我的工作,只是一些可以为我指明正确方向的事情,因为现在我很迷茫。 我也希望能够通过将数据输入空行来添加新的组和新的细节,这可能吗?

提前致谢!

【问题讨论】:

  • 你为什么不就此联系 DX 人员?

标签: c# entity-framework grid devexpress master-detail


【解决方案1】:

XtraGrid 支持三种方法: 检查此link 了解更多信息。 基本上主细节是令人困惑的东西,但仔细阅读会帮助你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多