我想将数据绑定到收集属性,如Count。WinForms数据绑定到收集属性(如计数)
一般来说,当我数据绑定时,我指定数据成员为集合中的对象属性,而不是为实际属性集合本身公开。
例如,我有一个自定义对象的列表。我在datagridview中显示它们。但我也想使用单独的标签显示其总数。有没有办法通过数据绑定来做到这一点?
我想我需要强制PropertyManager来代替CurrentyManager?
我收到以下异常。注意DataSource是集合并具有TotalValue属性。
System.ArgumentException: Cannot bind to the property or column TotalValue on the DataSource. Parameter name: dataMember at System.Windows.Forms.BindToObject.CheckBinding() at System.Windows.Forms.Binding.SetListManager(BindingManagerBase bindingManagerBase) at System.Windows.Forms.ListManagerBindingsCollection.AddCore(Binding dataBinding) at System.Windows.Forms.BindingsCollection.Add(Binding binding) at System.Windows.Forms.BindingContext.UpdateBinding(BindingContext newBindingContext, Binding binding) at System.Windows.Forms.Binding.SetBindableComponent(IBindableComponent value) at System.Windows.Forms.ControlBindingsCollection.AddCore(Binding dataBinding) at System.Windows.Forms.BindingsCollection.Add(Binding binding)
@Josh Kodroff,其实myobjectList是一个BindingList。我可以绑定到集合中项目的属性,但不绑定到实际列表的属性(如Count)。对于TextBox,我可以指定集合中项目的属性,并将TextBox绑定到集合中的第一个项目。当我尝试绑定到List属性时,我得到一个异常。 – Sumrak 2010-01-26 21:12:55
你可以添加你的帖子的例外吗? – 2010-01-27 14:26:05
@Jesh Kodroff:增加了异常文本 – Sumrak 2010-02-08 17:38:37