태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Flex Datagrid 작업중

editable을 true로 해야 되는 상황이 생겼는데

editable을 빠져 나올때(itemFocusOut이벤트) 해당 데이터에는

setItemAt으로 접근이 불가능 했습니다.

이때 getItemAt에 접근을 해야하는데..(편법)

datagrid는 getItemAt으로 arrayCollection을 수정해도

바로 변경값이 표시 되지 않습니다.

그런 경우 아래와 같이 해주시면 리플레시 되며

값이 표현됩니다.

주의. 다른 방법이 없는 불가피한 경우에만 쓰세요. 리소스 많이 먹습니다;;

AC.getItemAt(0).해당데이터 = 변경할값
위와 같이 변경하면 datagrid는 즉각 변경되어 적용되지 않습니다.

아래와 값이 해주시면 적용되는걸 볼 수 있습니다.

::dg는 datagrid의 인스턴스네임
if(dg.height>0){
     dg.height -= 1;
     dg.validateNow();
     dg.height += 1;
     dg.validateNow();
}


추가 2007.09.19
(정렬하면서 쓴건데 오늘 지하철 타고 오다가 생각나네요;;;)

위 방법 말고도 다른 방법이 있습니다.

AC를 컨트롤하는 방법입니다.

//스크롤이 상위로 올라가는 증상이 있어 미리 저장을 해놓습니다.
var idx:int = dg.verticalScrollPosition;
AC.refresh();//바인딩걸린 dg에 바꾼값이 표현 됩니다.
dg.verticalScrollPosition = idx;//저장했던 값을 넣어줍니다.

두방법에 장단점이 있는듯 한데

위 방법은 속도가 느립니다. 좀 굼뜹니다;;;
아래 방법은 속도가 조금 더 빠른대신 깜빡이는 증상이 있습니다.

두방법 중 보기좋고 퍼포먼스가 좋은걸로 쓰세요^^
Posted by 싸블 트랙백 0 : 댓글 0

댓글을 달아 주세요