【发布时间】:2015-08-18 14:23:18
【问题描述】:
我正在尝试在更改组合框选择时更新标签,以便它显示来自查询的计数。除非我指定在 where 子句中使用字符串,否则它不会让我使用组合框中的值。SelectedValue,它会返回零。
where (o.ShipCountry == "USA")
以及我一直在尝试的:
private void cmbCountry_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var ord = (from o in db.Orders
where (o.ShipCountry == cmbCountry.SelectedValuePath)
select o.ShipCountry).Count();
lblOrders.Content = ord;
}
这是一个帮助问题的屏幕。零应该是对组合框指定的某个国家/地区的所有订单的计数。
非常感谢任何帮助!
【问题讨论】:
-
是
ShipCountry == Belgium?我的意思是,它包含国家名称? -
ShipCountry 可以是 Orders 表中的任何国家/地区。
-
当你到达函数时
cmbCountry.SelectedValuePath的值是什么 -
你试过
o.ShipCountry == cmbCountry.SelectedValue.ToString()吗? -
我在此之前尝试过。 @BugFinder 使用 cmbCountry.SelectedValuePath 实际上会起作用。我在用于填充组合框的查询中使用了匿名类型!如果我是正确的,价值路径应该是
SelectedValue.cc? cc 因为匿名类型是select new { cc = c.Country}用于填充组合框的查询。