0

我正在使用这样的数据库结构:

item_id     int
list_name   string
category_name   string
item_name   string
qty     int
price       double
total_amt   double

我正在尝试根据类别获取项目列表..(按&总和分组)

private ObservableCollection<shoppingitem> _purchased;
public ObservableCollection<shoppingitem> Purchased
{
    get
    {
        return _purchased;
    }
    set
    {
        _purchased = value;
        notifypropertychanged("Purchased");
    }
}

public void  budgetcategorywise()
{
     var q = from shoppingItem p in db.Item1
               group p by p.category_name into g
               select new { category = g.Key, total = g.Sum(p => p.total_amt) };

     Purchased=new ObservableCollection<shoppingitem>(q);
}

它给出了类型转换的错误。现在的问题是我应该如何将此结果绑定到列表框。它需要转换..?

我需要将 ObservableCollection 中的结果转换为与列表框绑定。

4

2 回答 2

2

您应该返回 的集合shoppingitem,而不是匿名类型!

只需将其替换为select newselect new shoppingitem它应该可以正常工作!

于 2012-06-04T12:02:31.020 回答
0

您对shoppingItems 进行分组,并尝试将聚合结果作为shoppingItems 列表返回。您应该在集合中返回一个命名类型是正确的,但我认为它不应该是shoppingItem. 只需使用一个简单的类来传输结果。喜欢

class ShoppingItemSumDto
{
    public string Name { get; set; }
    public int Sum { get; set; }
}
于 2012-06-04T17:25:21.523 回答