从组合框内的外键约束显示名称
本文关键字:约束 显示 组合 | 更新日期: 2023-09-27 18:12:21
我有三个表。Employee, ClientEmp和Client.
ClientEmp具有Employee (EmployeeID)和Client(ClientID)的ForeignKey
。
到目前为止,我能够在基于selected
客户机的数据库(使用EF
)中保存对ClientEmp的更改。但是我必须在textbox
中手动输入EmployeeID ForeignKey
,以便能够匹配保存的数据。
显然,如果用户也不知道在textbox
中输入的EmployeeID FK是什么,那么这不是很友好。
因此,是否有一种方法来显示一个list
的雇员名字的使用combo box
从雇员表,然后将其保存到数据库?
我已经试过了,但是好像行不通。
<ComboBox Grid.Column="1" Grid.Row="1" Name="cbEmployeeName"
ItemsSource="{Binding Source={StaticResource Employee}}"
DisplayMemberPath="FirstName"
SelectedValuePath="EmployeeID">
</ComboBox>
我也试过使用这个链接和这个链接来帮助,但无济于事。我做错了什么?
最后,在WPF聊天室和Maverik的帮助下,我设法弄清楚了。
在我的xaml中,我定义了以下内容:
<ResourceDictionary>
<ObjectDataProvider x:Key="Employee"
ObjectType="{x:Type vm:ClientBookKeepingViewModel}"
MethodName="GetEmp">
</ObjectDataProvider>
</ResourceDictionary>
<ComboBox Grid.Column="1" Grid.Row="1" Name="cbEmployeeName"
ItemsSource="{Binding Source={StaticResource Employee}}"
DisplayMemberPath="FirstName"
SelectedValue="{Binding Path=EmployeeID}"
SelectedValuePath="EmployeeID"
/>
和在我的ViewModel中,创建了这个方法来获取Employees列表;
public IEnumerable<DataObjects.Employee> GetEmp()
{
return context.Employees;
}