有没有办法为UltraWinGrid的每一列定义特定的CellChange事件处理程序?
我正在重构一个CellChange事件处理程序,用于一个类似于以下内容的Infragistics:
Select Case e.Cell.Column.Key
Case "Name"
' handle cell change event for Name cell with a big ugly blob of code
Case "Title"
' handle cell change event for Title cell with a big ugly blob of code
' ... etc ...
End Select我希望能够创建当特定列的单元格发生更改时触发的事件处理程序,但我不知道这是否可行。如果不是,我将重构select-case以手动调用特定于列的事件处理程序。
Select Case e.Cell.Column.Key
Case "Name"
CellChanged_Name(sender, e)
Case "Title"
CellChanged_Title(sender, e)
' ... etc ...
End Select有人能告诉我,是否可以创建事件处理程序,当特定列的单元格更改时触发事件处理程序?还是手动调用特定于列的函数更好?
发布于 2012-02-28 05:14:47
当任何单元格发生更改并且网格无法为特定列创建事件处理程序时,将始终调用CellChange事件处理程序的事件处理程序。如果你愿意,你可以联系Infragistics,并建议他们通过论坛或提交支持请求来添加此功能。在get help页面上有相应的链接:http://www.infragistics.com/support/get-help.aspx
发布于 2012-02-28 00:08:22
请注意,我是从C#即时翻译过来的,所以可能出了什么问题。
您需要引用Linq名称空间,然后使用如下语法
在你的form_load或其他地方
Dim dictionary As New Dictionary(Of String, Infragistics.Win.UltraWinGrid.CellEventHandler)
dictionary.Add("Name", CellChanged_Name)
dictionary.Add("Title", CellChanged_Title)
dictionary.Add("....", ....)在您的公共CellChanged事件中
dictionary(e.Cell.Column.Key).Invoke(sender, e)作为参考,请查看此Replacement for big switch?
https://stackoverflow.com/questions/9466589
复制相似问题