WPF 数据网格动态绑定
WPF Datagrid Dynamic Binding
我觉得这有点复杂,我会尽力解释。
我有以下表格;
时间表
idTimesheet
id_User
结束日期
已提交
批准
订单项
idLineItem
id_Timesheet
说明
天
idDay
id_LineItem
日期
小时
因此,如您所见,这是一个时间表系统。
我已经到了可以单独显示每个行项目的地步,问题是弄清楚如何在相关列中显示每天的小时数。
我正在使用 Timesheets.EndDate
在 GridView 中动态生成 Day
列,以便它们也可以在每一列中包含日期,但我不知道如何将 days/hours 绑定到相关列。它们是 DataGridTextColumns,因为最终目标是允许用户在系统中输入他们自己的时间。我正在使用 EntityFramework,因此可以使用 LineItem.Ref_Days
获取天数,它提供了一个 ICollection<Days>
,但是在 LINQ 的帮助下可以很容易地将其转换为列表或其他有用的对象.
如有必要,很乐意提供更多信息。
how to display the hours for each day in the relevant column.
不要尝试使用直接实体并绑定到不公开所需内容的属性。创建一个数据传输对象 (DTO) 对象,其中业务逻辑(以及构成逻辑的所有模型)需要表示为从原始属性中提取的属性,或者通过部分 class 定义从 EF 扩展实体.加入智能更新新创建属性的设置器中的实际属性。
无论哪种方式,您只需将列绑定到实际 扩展 实体或 DTO 上的新属性。
我觉得这有点复杂,我会尽力解释。
我有以下表格;
时间表
idTimesheet
id_User
结束日期
已提交
批准
订单项
idLineItem
id_Timesheet
说明
天
idDay
id_LineItem
日期
小时
因此,如您所见,这是一个时间表系统。 我已经到了可以单独显示每个行项目的地步,问题是弄清楚如何在相关列中显示每天的小时数。
我正在使用 Timesheets.EndDate
在 GridView 中动态生成 Day
列,以便它们也可以在每一列中包含日期,但我不知道如何将 days/hours 绑定到相关列。它们是 DataGridTextColumns,因为最终目标是允许用户在系统中输入他们自己的时间。我正在使用 EntityFramework,因此可以使用 LineItem.Ref_Days
获取天数,它提供了一个 ICollection<Days>
,但是在 LINQ 的帮助下可以很容易地将其转换为列表或其他有用的对象.
如有必要,很乐意提供更多信息。
how to display the hours for each day in the relevant column.
不要尝试使用直接实体并绑定到不公开所需内容的属性。创建一个数据传输对象 (DTO) 对象,其中业务逻辑(以及构成逻辑的所有模型)需要表示为从原始属性中提取的属性,或者通过部分 class 定义从 EF 扩展实体.加入智能更新新创建属性的设置器中的实际属性。
无论哪种方式,您只需将列绑定到实际 扩展 实体或 DTO 上的新属性。