2013-03-03 2 views
3

첫 번째 열을 TreeViewer에 완전히 숨기고 싶습니다. setWidth(0)으로 숨기면 다음 보이는 열은 삼각형과 패딩을 얻습니다. 가장 바보 같은 방법은 TreeViewer을 처분하고 첫 번째 열이 숨겨져있을 때마다 TableViewer을 작성하는 것입니다. 이 문제를 해결할 수있는 확실한 방법이 있습니까?treeviewer에서 트리 계층 구조로 첫 번째 열을 숨기는 방법은 무엇입니까?

편집 됨. 그림 :

demonstration

  1. idlabel
  2. 숨겨진 id 열이있는 테이블과 원본 테이블. 너비는 1 픽셀입니다. 점 분리기는 매우 추합니다.
  3. 테이블이 숨겨진 id 열과 함께. 너비는 0px입니다. 이제 두 번째 열에는 요소가 다시 포맷되었습니다.

PS I는 런타임에 마우스로 성공적인 숨기기 1 ID 열 (어떤 점 분리, 2 열은 같은 모양) 할 수 있습니다. 하지만 어떻게 코드로이 작업을 수행 할 수 있습니까? JFace 소스 코드를 읽으려고했지만 유용한 공개 메소드를 찾지 못했습니다.

+0

"_gets 삼각형 및 패딩 _"이란 무엇을 의미합니까? 어쩌면 스크린 샷을 추가 할 수 있습니까? – Baz

+0

흥미로운 문제. 왜 당신이 이것을하고 싶고 커스텀'IContentProvider'를 가지고'TableViewer'를 사용하지 않겠습니까? –

+1

흠. 첫 번째 열은 나무입니다. 'TableViewer'로 첫 번째 컬럼에 대한 트리 로직을 구현하기를 원합니까? 사용자는 언제든지 첫 번째 열을 숨기거나 감출 수 있습니다. – Ezhik

답변

0

당신은에 ITreeContentProvider, 의 구현이 처리해야 할 당신의 getElements() 당신해야 하지 대신 당신이 아이를 돌려, 루트 요소를 반환합니다. 이 getParent() 인 경우 루트로 null을 반환해야합니다.

관련 문제