如何构建多级数据网格

问题描述 投票:0回答:1

我在我的C#WPF应用程序中使用Entity Framework 6,并希望在多级数据网格中显示我的数据。

我的数据集包含2个简单实体:

  • 项目:Id,ParentId(可空),名称
  • 任务:Id,ProjectId,名称

因此,每个任务都附加到一个项目。每个项目都可以有一个可选的父项目。这导致n级的分层结构。相应的导航属性已经到位(Project.ParentProject,Task.Project)。

到目前为止我尝试过的:

  1. 使用任务作为CollectionViewSource并按项目分组。通过使用IValueConverter,我能够遍历所有父节点并将其写入单个组行中,如下所示:'Project-1 / Project 1.1 / Project 1.1.1'。缺点是我的数据网格中没有层次结构,并且空项目不会显示。
  2. 使用Projects作为CollectionViewSource - 这将显示所有项目。但是我们都没有想到如何建立一个层次结构,也没有想到如何将这些任务展示为孩子。

预期的结果将是这样的:

  • 项目-1 项目1.1 任务-100
  • 项目-2 项目2.1 任务-200 项目2.2

因此,即使没有任务,每个项目也会在其层次结构中显示。稍后,可以选择隐藏所有空项目并仅显示带有任务的项目(及其父项目)。

那么有谁知道如何做到这一点?感谢您的意见和建议!

c# wpf entity-framework datagrid
1个回答
0
投票

看看RowDetailsTemplate

您可以在此模板中放置一个新的datagrid,它将完成您想要实现的目标。

© www.soinside.com 2019 - 2024. All rights reserved.