从sql表中列出组合框中的名字和姓氏

时间:2013-10-30 12:06:22

标签: wpf

我在wpf中有一个组合框,我想从sql表中列出名字和姓氏。它一次只允许一个条目。另外,我想给每个标题,但ValueMemberPath无法识别。

private void displayCust()
    {
        using (Entities c = new Entities())
        {
            cbUsers.ItemsSource = c.Customer.ToList();
            //cbUsers.ValueMemberPath = "First";
            cbUsers.DisplayMemberPath = "First";
            cbUsers.DisplayMemberPath = "Last";
        }

    }

2 个答案:

答案 0 :(得分:0)

到目前为止,执行所需操作的最简单方法是override ToString()类中的customer方法:

public override string ToString()
{
    return string.Format("{0} {1}", FirstName, LastName);
}

然后你可以这样做:

using (Entities c = new Entities())
{
    cbUsers.ItemsSource = c.Customer.ToList();
}

或者,你可以这样做:

using (Entities c = new Entities())
{
    cbUsers.ItemsSource = c.Customer.Select(c => string.Format("{0} {1}", c.FirstName, 
        c.LastName)).ToList();
}

但是,这会导致在string输入简单的ComboBox值。

答案 1 :(得分:0)

@Sheridan解决方案是一个很好的解决方案。

无论如何,如果你不想拥有一个兼顾两者的属性(如@Blam所说),你也可以使用MultiValueConverter为组合框提供一个项目模板。

看看:http://blog.csainty.com/2009/12/wpf-multibinding-and.html

这样,组合框的itemssource可以是Customer类,你可以用它来做“事情”,而不是一个普通的字符串。

此致