1

UltraWinGrid の各列に特定の CellChange イベント ハンドラーを定義する方法はありますか?

次のような Infragistics UltraWinGrid の CellChange イベント ハンドラーをリファクタリングしています。

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 e.Cell.Column.Key

Case "Name"
CellChanged_Name(sender, e)

Case "Title"
CellChanged_Title(sender, e)    

' ... etc ...

End Select

特定の列のセルが変更されたときに発生するイベント ハンドラーを作成できるかどうか教えてもらえますか? それとも、列固有の関数を手動で呼び出す方がよいでしょうか?

4

2 に答える 2

2

注意してください、私はこれをその場で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)

参考としてこちらの大きなスイッチの交換をご覧ください。

于 2012-02-27T16:08:21.587 に答える
0

CellChangeイベントハンドラーのイベントハンドラーは、セルに変更があり、グリッドに特定の列のイベントハンドラーを作成する方法がない場合に常に呼び出されます。必要に応じて、Infragisticsに連絡し、フォーラムを通じて、またはサポートリクエストを送信して、この機能を追加することをお勧めします。ヘルプページの取得ページにそれぞれのリンクがあります:http: //www.infragistics.com/support/get-help.aspx

于 2012-02-27T21:14:47.007 に答える