【问题标题】:Display name from foreign Key constraint within a combobox组合框中外键约束的显示名称
【发布时间】:2013-05-07 10:14:45
【问题描述】:

我有三张桌子。员工、ClientEmp 和客户。

ClientEmp 具有 Employee (EmployeeID) 和 Client(ClientID) 的 ForeignKey

到目前为止,我能够基于 selected 客户端将更改保存到我的数据库中的 ClientEmp(使用 EF)。但我必须在 textbox 中手动输入 EmployeeID ForeignKey 才能匹配要保存的数据。

显然,如果用户不知道 EmployeeID FK 输入到 textbox 中的内容,这对用户来说不是很友好。

因此,有没有办法使用 Employee 表中的 combo box 显示 Employee Firstname 的 list,然后将其保存到数据库中?

我试过了,但是好像没用。

<ComboBox Grid.Column="1" Grid.Row="1" Name="cbEmployeeName" 
          ItemsSource="{Binding Source={StaticResource Employee}}" 
          DisplayMemberPath="FirstName" 
          SelectedValuePath="EmployeeID">
</ComboBox>

我也尝试使用This linkThis link here 提供帮助,但无济于事。我做错了什么?

任何帮助将不胜感激:)。

【问题讨论】:

    标签: c# wpf entity-framework data-binding combobox


    【解决方案1】:

    最后,在WPF Chat roomMaverik 的帮助下,我设法弄明白了。

    在我的 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 中,创建了这个方法来获取员工列表;

    public IEnumerable<DataObjects.Employee> GetEmp() 
    {
        return context.Employees;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 2013-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      相关资源
      最近更新 更多