[英]Complex databinding to DataGridView header text
有没有一种方法可以将复杂的数据绑定到列的标题文本? 还是手动设置值并侦听源中的更改事件的唯一方法?
为了记录,我已经尝试过
MyDataGrid.DataBindings.Add("Columns[<columnIndex>].HeaderText",MySource,"MyProperty");
和
MyDataGrid.DataBindings.Add("Columns[\"ColumnName\"].HeaderText",MySource,"MyProperty");
无济于事,并且DataGridViewColumn
和DataGridViewColumnHeaderCell
都没有DataBindings
属性。
不,列标题不支持数据绑定,因为可以理解,此元数据将(大部分)是静态的。
在这种情况下,我将按照您的建议手动进行操作(从属性读取并订阅事件以更新列标题)。
对于更复杂的要求(仅出于完整性),如果编写自己的PropertyDescriptor
实现(由TypeDescriptionProvider
或ITypedList
,或者甚至更好)为IBindingList
实现(可以在其中引发ListChanged
类型的ListChangedType.PropertyDescriptorChanged
事件),则可以控制更多。 然而,任何这些是工作显著量,它根本不值得只是为了你的建议是什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.