Flex- AdvancedDatagrid의 클릭 이벤트를 트리거하지 않고 열에서 렌더링 된 링크 버튼을 클릭하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/20353234

문제

품목 렌더러가있는 두 개의 열이있는 AdvancedDatagrid가 있습니다. 이러한 항목 렌더러는 해당 열의 링크 버튼을 렌더링하고 있습니다. AdvancedDatagrid의 ItemClick 이벤트를 트리거하지 않고 해당 링크 버튼을 클릭 할 수 있습니다. 내가 이것을 어떻게 달성 할 수 있는지에 대한 제안이 있습니까?

도움이 되었습니까?

해결책

나는 AdvancedDatagrid와 함께 일한 적이 없지만 몇 가지 원칙을 보유하고 있다고 가정합니다. 첫 번째는 이벤트 전파의 행동입니다. 이벤트는 그리드에 의해 처리되기 전에 버튼으로 처리됩니다. 이것은 우리가 이벤트가 Datagrid에 도달하는 것을 막고 멈출 수 있음을 의미합니다. 아래는 Datagrid 렌더러가 다른 동작을 트리거하지 않고 버튼을 가질 수있는 방법을 보여주는 코드 샘플입니다.

CustomerRenderer...
<fx:Script>
    <![CDATA[
        protected function watchButtonClickHandler(event:MouseEvent):void
        {
                            //the line below stops the event from 
                            //propagating through the rest of the display
                            //list
            event.stopImmediatePropagation();
                            //handle button click logic here

        }
    ]]>
</fx:Script>
<s:Group width="100%" id="buttonGroup">
    <s:layout>
        <s:HorizontalLayout horizontalAlign="center" verticalAlign="middle"
                            paddingBottom="1" paddingLeft="1" 
                            paddingRight="1" paddingTop="1" />
    </s:layout>
    <s:Button id="watchButton" width="98" label="{buttonLabel}" 
                click="watchButtonClickHandler(event)"/>
</s:Group>
....
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top