我有一个高级Datagrid,上面有两个具有项目渲染器的列。这些项目渲染器正在其各自的列中渲染链接按钮。我希望能够单击这些链接按钮,而无需触发高级Datagrid的ItemClick事件。关于我如何实现这一目标有什么建议吗?

有帮助吗?

解决方案

我从未与Advanced 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