gpt4 book ai didi

Wpf 组合框与父/子表的数据绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 15:20:25 26 4
gpt4 key购买 nike

我是 wpf 和数据绑定(bind)的新手。我在一个小应用程序中尝试了 wpf。现在我在将 CollectionViewSource 与组合框结合使用时遇到问题

在 Datagrid 中,我显示表“OrderDetails”的内容现在的问题是:我想将字段“PartId”显示为 Combox。组合框应包含所有“部件”并显示“名称”而不是 PartId

(对不起,我不能上传数据库布局的图片)

OrderDetails:Id,OrderId,PartId,Count

表格部分:Id、名称、描述、价格

<DataGrid Margin="80,0,0,0" Background="Transparent" HeadersVisibility="Column" 
ItemsSource="{Binding Source={StaticResource projectsOrderdetailsViewSource}}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Fahrzeug" Width="SizeToHeader">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox DisplayMemberPath="Name"
ItemsSource="{Binding Source={StaticResource partsViewSource}}"
SelectedValue="{Binding Path=ID}"
SelectedValuePath="{Binding Path=PartId}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
....

显示数据网格和包含的组合框,但是

  1. 值显示不正确。
  2. 如果我从组合框中选择任何内容,数据网格的所有项目都会获得所选值。

你能帮我正确配置组合框吗

最佳答案

您可能绑定(bind)到单个 partsViewSource。

partsViewSource 需要是 projectOrderdetailsViewSource 的属性,所以每一行都有自己的 partsViewSource

列表需要一个公共(public)属性,所以每一行都有自己的列表。

class order
{
public Int ID {get; private set;}
public List<string> Parts { get; set }
}

关于Wpf 组合框与父/子表的数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13235034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com