我想通过编程将工具提示设置为DataGridView
中自动生成的列。我尝试使用AutoGeneratingColumn
事件(http://msdn.microsoft.com/en-us/library/cc903950%28VS.95%29.aspx),但实际上只能访问DataGridColumn
,而不能访问DataGridViewColumn
,而且前者没有ToolTipText
属性。
或者如果我能将工具提示绑定到一个源代码,那也会很棒。目标是能够在我为底层DataTable
设置列的同一个地方操作/设置工具提示。
3条答案
按热度按时间6yt4nkrj1#
我是这么解决的:
2sbarzqh2#
特定单元格的工具提示文本:
将工具提示添加到动态添加的行特定单元格
nszi6y053#
如果你不想预设任何类型,而想依靠反射从你的域对象中提取一个属性作为工具提示,你可以这样做:
我们可以使用ItemsSource枚举器来获取网格的第一个元素,这反过来又会给我们提供要反映的域对象类型。这里,我还使用空合并操作符将属性的名称设置为默认工具提示。(由于我们知道正在使用DataGrid,因此向DataGrid的强制转换应该是安全的)。
枚举可能不是完全空值安全的,并且它需要域对象列表(或者ObservableCollection)中至少有一个对象。如果你确定了网格的源域对象类型,你可以简单地这样做。应该更快更安全。
最后,设置标题上的工具提示(仍在SomeGrid_AutoGeneratingColumn事件方法中):