2009-11-23 4 views
1

저는 DataGridView (WinForms 사용)에서 특정 행을 직전 행의 "자식"으로 처리하고 있습니다. 즉, 사용자가 열을 정렬 할 때 해당 하위 행이 상위에 연결되어있는 상태로 유지되므로 항상 그 바로 아래에 나타납니다.DataGridView 다른 행의 값을 기준으로 정렬

이 문제를 해결하기 위해 SortCompare 메서드를 재정의하고 있지만이를 수행하는 방법이 확실하지 않습니다. SortCompare 내에서 행에 부모 행이 있는지, 그 행이 무엇인지 알 수 있습니다. 따라서 "row1에 부모가있는 경우 정렬 결과를 row1의 부모를 row2와 비교하는 것이 무엇이든 상관 없도록합니다."라고 말할 수 있기를 원합니다. 하지만 어떻게하면 값을 명시 적으로 비교하지 않고도이를 수행 할 수 있습니까? (나는 피하고 싶기 때문에 데이터 유형을 추적 할 필요가 없습니다)? 그것은 어디에서나 사용할 수있는 비교 자입니까? 아니면 내가 성취하려는 일을하는 더 좋은 방법이 있습니까?

답변

0

을 할 필요가 없습니다. 정의 DataGridViewGrouper component을 보셨습니까?

각 행 그룹마다 고유 한 속성을 가질 수 있으며이 사용자 지정 구성 요소를 사용하여 그룹을 만들 수 있습니다. 각 두 행 그룹에는 그룹을 함께 묶을 수있는 고유 한 속성이 있습니다. 나에게 별개의 태그 또는 속성을 통해 개별 그룹을 구분해야합니다. 이 경우 상위 - 하위 관계는 없지만 그룹화하기 때문에 중요하지 않습니다.

관련 문제