2011-01-20 3 views
0

그룹화 된 고급 DataGrid가 있습니다. 그룹화 안의 항목을 사용하면 항목을 두 번 클릭하면 사용자가 해당 항목을 편집 할 수있는 팝업이 생성됩니다. 내가 가지고있는 문제는 그룹 제목을 두 번 클릭 할 수 있고 빈 정보로 팝업이 활성화된다는 것입니다. 이 기능이 작동하지 않게하려면 어떻게해야합니까? 여기 고급 DataGrid 그룹 제목을 두 번 클릭하지 않도록 설정하는 방법은 무엇입니까?

는 plugList_itemDoubleClickHandler 기능으로 처리 될 것이다 MXML 코드

<mx:AdvancedDataGrid id="plugList" designViewDataType="tree" width="100%" height="100%" 
     initialize="gc.refresh();" doubleClickEnabled="true" itemDoubleClick="plugList_itemDoubleClickHandler(event)"> 
     <mx:dataProvider> 
      <mx:GroupingCollection2 id="gc" source="{plugs}"> 
       <mx:grouping> 
        <mx:Grouping> 
         <mx:GroupingField name="traderTitle"/> 
        </mx:Grouping> 
       </mx:grouping> 
      </mx:GroupingCollection2> 
     </mx:dataProvider> 
     <mx:columns> 
      <mx:AdvancedDataGridColumn headerText="Title" dataField="traderTitle"/> 
      <mx:AdvancedDataGridColumn headerText="Anchor" dataField="traderAnchor"/> 
      <mx:AdvancedDataGridColumn headerText="URL" dataField="url"/> 
      <mx:AdvancedDataGridColumn dataField="status" headerText="Status" width="75"/> 
     </mx:columns> 
    </mx:AdvancedDataGrid> 

답변

0

이다. 조건문을 작성하고 event.target을 살펴보십시오. 디버깅 모드에서는 구문에 대해 잘 모르겠지만 디버그 모드에서는 볼 수있는 항목과 헤더의 차이를 볼 수 있어야합니다. 그것의 헤더라면, 팝업을 나타내지 말아라.

1

event target는 하나의 열이 아니라 전체 datagrid 구성 요소이다, 당신은이 객체를 사용할 수 없다. selectionMode 속성이 singleRow (기본값)으로 설정된 경우 selectedItem 속성을 사용하여 대상 행을 지정할 수 있습니다. 그런 다음 father 노드와 simple leaf를 구별하기 위해 children 속성이 있는지 확인할 수 있습니다.

protected function plugList_itemDoubleClickHandler(event:ListEvent):void 
{ 
    if(((Object)(event.target.selectedItem)).hasOwnProperty('children')){ 
     trace('not a leaf'); 
    }else{ 
     Alert.show("Selected "+event.target.selectedItem.desc); 
    } 
} 

다비드

:

간단한 수신기에서 doubleClick 함수 예제
관련 문제