2012-02-27 3 views
1

UltraWinGrid의 각 열에 대해 특정 CellChange 이벤트 처리기를 정의하는 방법이 있습니까?Infragistics 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 

특정 열의 셀이 변경 될 때 발생하는 이벤트 처리기를 만들 수 있는지 누군가가 알 수 있습니까? 아니면 단순히 열 함수를 호출하는 것보다 나을 것이 좋습니다?

답변

0

CellChange 이벤트 처리기의 이벤트 처리기는 항상 b 어떤 셀에 변경이있을 때 호출되고 그리드에는 특정 열에 대한 이벤트 처리기를 만드는 방법이 없습니다. 원하는 경우 Infragistics에 연락하여 포럼을 통해 또는 지원 요청을 제출하여이 기능을 추가 할 것을 권장 할 수 있습니다. 도움말 페이지에는 각각에 대한 링크가 있습니다. http://www.infragistics.com/support/get-help.aspx

+0

내 기본 질문에 대답했기 때문에 허용되었습니다. 열 수준에서 이벤트 처리기를 추가 할 수 있습니다. Infragistics 지원팀에 연락하지 않겠습니다. 이전 코드를 리팩토링하고 있습니다. 새 코드를 작성하는 경우 Infragistics 제품을 사용하지 않습니다. –

+0

@Walter Stabosz, Infragistics 제품을 사용하지 않는 이유에 대한 의견을 듣고 싶습니다. 직접 [email protected]으로 이메일을 보내주십시오. – alhalama

+0

Infragistics의 가장 큰 불만은 문서가 끔찍한 것입니다. http://community.infragistics.com/forums/p/56337/291136.aspx에서 내 게시물을 참조하십시오. 잘못된 설명서는 두통을 디버깅하는 것을 의미합니다. 즉, Infragistics 지원의 응답 또는 프리미엄 지원 계약을 구입하려면 3 일을 기다려야합니다. jQuery (웹 프로젝트의 경우)를 무료로 제공하고 문서 및 커뮤니티 지원이 훨씬 뛰어 났기 때문에 회사를 jQuery로 전환했습니다. 일반적으로 더 잘 작동합니다. –

2

제발, 나는 이것을 C#에서 즉시 번역하고 있으므로 뭔가 잘못 될 수 있습니다.
당신은 봐주세요 참고로 일반적인 CellChanged 이벤트

dictionary(e.Cell.Column.Key).Invoke(sender, e) 

에 다른

Dim dictionary As New Dictionary(Of String, Infragistics.Win.UltraWinGrid.CellEventHandler) 
dictionary.Add("Name", CellChanged_Name) 
dictionary.Add("Title", CellChanged_Title) 
dictionary.Add("....", ....) 

을 Linq에 네임 스페이스를 참조하고 곳이

당신의 Form_Load에

또는 같은 구문을 사용합니다 this Replacement for big switch?

+0

그건 나쁘지 않습니다. 나는 그것에게 시도를 줄 것이고, 그것이 어떻게 가는지 당신에게 알릴 것이다. –

+1

이벤트 args에 대해 기존 대리자를 사용하는 대신 표 셀과 셀 또는 셀만 사용하는 대리자를 만드는 경우 추가 변경을 권장합니다. sender 인수를 사용하면 각 핸들러에 전달할 필요가 없습니다. – alhalama

+0

예 매우 유용한 개선이 될 것입니다. 죄송 합니다만 저는 VB에서 유창하지 않습니다. 우리의 독자를위한 연습장으로 남겨 두었다고 가정 해 봅시다 :-) – Steve