2012-02-23 4 views
1

"true"로 편집 가능한 매개 변수가있는 AdvancedDataGrid가 있습니다. 내 문제는 성공적인 드래그 & 드롭 후, 항목이 편집되고 나는 이것을 원하지 않는다는 것입니다. Flex는 드래그 앤 드롭 후 DataGrid가 편집하지 못하도록합니다.

내가이있는 사용자 정의 advancedDataGrid 만들려고 :

override protected function dragCompleteHandler(event:DragEvent):void{ 
      trace("call dragCompleteHandler"); 
      super.dragCompleteHandler(event); 
      clearAllSelection(); 
      selectedItem = null; 
     } 

을하지만 그것은 작동하지 않습니다 내가로 preventDefault 또는 다른 뭔가 이벤트를 중지해야하는 경우 난 그냥 모르겠어요. 또한 Adobe AdvancedDataGrid 코드를 살펴본 결과 dragcomplete 이벤트 이후에 아무 것도 전달되지 않은 것 같습니다.

&을 드래그 한 후이 성가신 에디션 또는 포커스를 어떻게 중지 할 수 있습니까?

EDIT 27/02/2012 용액 생성자에서 DRAG_START DRAG_COMPLETE 및 이벤트를 수신하는

(또는 성분의 기능 INIT)

addEventListener(DragEvent.DRAG_START,itemDragStartHandler); 
addEventListener(DragEvent.DRAG_COMPLETE,itemDragCompleteHandler); 

하고 :

protected function itemDragStartHandler(event:DragEvent):void 
    { 
     editable = "false"; 
    } 

    protected function itemDragCompleteHandler(event:DragEvent):void 
    { 
     editable = "true"; 
    } 

답변

1

itemEditBeginning 이벤트를 들어보십시오. 취소 가능하므로 preventDefault()을 사용하여 편집기가 표시되지 않도록 할 수 있습니다. & 끌어서 놓기가 발생했을 때만 편집 이벤트를 방지하기 위해 끌거나 드래그 한 항목을 저장해야 할 수 있습니다. 어떤 순서로 itemEditBeginning 및 드래그 & 드롭 이벤트가 발송되는지 잘 모르겠습니다. 잠시 실험 해 볼 필요가 있습니다. trace를 사용하면

내가 생각할 수있는 또 다른 해결책은 editablefalse을 때 드래그 & 놓기 시작을 설정하고 드래그 & 드롭이 완료되면 true로 설정하는 것입니다 ... 이러한 이벤트를 디버깅 할 수있는 좋은 방법입니다.

+0

대단히 감사합니다! 솔루션에 대한 편집을 참조하십시오. – TheFrenchGuy