[英]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.