2009. 12. 10. 12:53

[Flex 3.3] DataGrid 에서 필요없는 스크롤바 없애는 방법




DataGrid 에 3 row 의 데이터를 넣고 rowCount="3" fontSize="12" 이렇게 셋팅하고 화면을 보면

<mx:DataGrid id="dg" dataProvider="{CIS}" width="296" rowCount="3" fontSize="12">
...








이렇게 원하지않는 세로스크롤바가 생깁니다.
폰트사이즈의 변경으로 row의 높이가 변경되면서 전체적인 높이가 데이터 사이즈에 맞게 변경되어야 하지만 위 그림처럼 스크롤바가 생깁니다. 
스크롤 해봐도 그 아래에는 물론 데이터도 없습니다.

이럴땐 verticalScrollPolicy="off" 을 사용하면

<mx:DataGrid id="dg" dataProvider="{CIS}" width="296" rowCount="3" fontSize="12" verticalScrollPolicy="off">
...








위 그림처럼 스크롤바가 없어집니다. 그러나 이경우 마지막 3번째 row 의 높이가 다른 row의 높이보다 낮습니다.

정확히 row 의 높이(header 높이 제외)가 같게 하기 위해선

  • headerHeight 의 높이 지정
  • headerWordWrap 값 true 로 설정

위 두가지 방법 중 하나만 사용해도 각 row 의 높이를 같게 할 수 있습니다.