보통 DataGrid에서 ScrollBar는 아이템개수가 화면에 표시하는 개수보다 많으면 생기는데요. 개수가 많을 수록 Thumb부분이 더 작아지죠. 이 Thumb크기를 고정시키려면 찾아본 결과 Scrollbar속성에 scrollThumb부분이 있는데, 그걸 없애고, 새로 고정된 Thumb으로 교체를 시키는 방법이 있더라구요.

http://npacemo.com/wordpress/2008/05/20/flex-3-designer-scrollbar-fixed-size-scrollthumb/
소스는 자세히 보시면 그리어렵지 않지만, 이분께서 유틸을 너무 잘 만드셔서-_- 그냥 가져다 쓰시면 됩니다-_-

저 글에서는 Canvas의 스크롤바를 했지만, DataGrid라고 뭐 다를 거 없습니다.
음....데이터그리드는 커스텀 컴포넌트를 만드셔서 updateDisplayList를 오버라이딩해주시면 됩니다..

[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:DataGrid xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
        <![CDATA[
            import com.soribada.utils.fixedthumb.ScrollBarUtil;
           
            use namespace mx_internal;
           
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
            {
                super.updateDisplayList(unscaledWidth, unscaledHeight);
                ScrollBarUtil.replaceScrollThumb(verticalScrollBar);
            }
        ]]>
    </mx:Script>
</mx:DataGrid>
[/code]
DataGrid는 verticalScrollBar라는 객체가 있는데, 이것을 고정된 ScrollBar로 바꿔주면 됩니다^^

PS. 그냥 뭐 전 찾는데 오래걸려서 혹시나 필요한 사람이 있을까봐 올립니다ㅠ
 
Posted by 머드초보
,