0
假设这个基类总和
public class Contrat_Paye_Item
{
public int CPI_TYPE { get; set; }
public string CPI_TEXT { get; set; }
public decimal CPI_AMOUNT { get; set; }
}
在我看来,型号我已经作出了列表从该类这样的:
private ObservableCollection<Contrat_Paye_Item> listapayer;
public ObservableCollection<Contrat_Paye_Item> ListaPayer
{
get
{
return listapayer;
}
set
{
listapayer = value;
OnPropertyChanged("ListaPayer");
}
}
,并在虚拟机的构造,只是一些TESTDATA:
listapayer.Add(new Contrat_Paye_Item()
{
CPI_TYPE = 0,
CPI_TEXT = "Loyer",
CPI_AMOUNT = 100
});
listapayer.Add(new Contrat_Paye_Item()
{
CPI_TYPE = 1,
CPI_TEXT = "charge 1",
CPI_AMOUNT = 200
});
listapayer.Add(new Contrat_Paye_Item()
{
CPI_TYPE = 1,
CPI_TEXT = "Charges 2",
CPI_AMOUNT = 300
});
这样的完整列表包含3项,总量为600。
在我的视图模型我添加了一个只有他们的CPI_type = 1,并结合其项目列表框的子列表没有问题是这样的:
public ICollectionView ListCharges
{
get
{
var sub= new CollectionViewSource { Source = listapayer }.View;
sub.Filter = p => (p as Contrat_Paye_Item).CPI_TYPE == 1;
return sub;
}
}
现在我想显示什么是我的项目清单,其中一行包含总和项目的子列表。一个它绑定到第二个列表框
类似:
劳尔100名
费500
任何想法,技巧是值得欢迎的。 感谢
感谢的人,这会在我的情况下工作,因为我刚才一个非常小的记录,以便重建总和名单不是我的问题。 我认为这是一个现在的解决方案,但:) – user2475096
这将是很好,如果它使用可观察模式, 我没有提到的代码清晰度,但实际上我使用INotifyPropertyChanged模式既为类和列表。 ObserableCollection是一个修改后的一个名为NotifyPropertyChanged从这个线程 http://stackoverflow.com/questions/8490533/notify-observablecollection-when-item-changes 它允许通知项目的变化以及,所以我们可以更新摘要和像 – user2475096
这样的事情,所以使用INotifyPropertyChanged和CollectionChanged的解决方案会更有用。 和暗示这将是伟大的。 ps:有没有办法在评论中发布长文本和代码?如此奇怪:p – user2475096