레이블이 list인 게시물을 표시합니다. 모든 게시물 표시
레이블이 list인 게시물을 표시합니다. 모든 게시물 표시

2009년 8월 16일 일요일

Flex의 List에서 아이템을 더블클릭 시 수정할 수 있게 바꾸기

Flex의 List에서 아이템을 더블클릭 하면 수정되게 하고싶을 때가 있다. 아래 링크한 문서에서 Comments에 JabbyPandaUA 라는 사람이 남겨놓은 답이 좋아 보인다.

 

참고 : http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=8983

 

addEventListener(ListEvent.ITEM_DOUBLE_CLICK, onItemDoubleClick, false, EventPriority.DEFAULT_HANDLER);


protected function onItemDoubleClick(event : ListEvent) : void {
  
   var isEventPrevented : Boolean = event.isDefaultPrevented();
   if (event.isDefaultPrevented()) {
    return;
   }
                   
   editable = true;
         editedItemPosition = {columnIndex : 0, rowIndex : event.rowIndex};                      
  }

위와 같이 한다. 단순히 editable = true 속성을 지정해 두면 더블 클릭이 아닌 원 클릭에도 수정모드로 들어간다. 위의 코드도 한 번 editable이 되면 계속 editable이 되므로 change 이벤트 등에서 무조건 editable = false; 로 지정해 주니 잘 된다.

2009년 8월 12일 수요일

모르겠다. List의 Label 변경 시점에 변경된 Label 얻기

Flex에서 List에 editable="true"으로 주면 label을 편집할 수 있다. 그리고 itemEditEnd의 이벤트 핸들러를 지정하면 item이 변경되고 나서 event를 받을 수 있다.

 

그런데 이 이벤트에서 변경된 아이템의 label을 얻기위해 list.selectedItem으로 title을 얻어봤으나 얻어지지 않았다. 그래서 저장한 XML 일부가 반영되지 않았다.

 

급해서 저장시점에 list를 돌며 저장하는 방법으로 바꿨음.