Flex - Come fare clic sul pulsante di collegamento rendering nella colonna senza attivare l'evento clicca per AdvancedDataGrid?

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

Domanda

Ho un AdvancedDataGrid con due colonne con rendering degli articoli. Quei rendering dell'articolo rendono i pulsanti di collegamento nelle rispettive colonne. Voglio essere in grado di fare clic su quei pulsanti di collegamento senza attivare l'evento ItemClick di AdvancedDataGrid. Qualche suggerimento su come potrei raggiungere questo obiettivo?

È stato utile?

Soluzione

Non ho mai lavorato con un AdvancedDataGrid, ma presumo alcuni principi tenuti. Il primo è il comportamento della propagazione degli eventi. L'evento viene elaborato dal pulsante prima che venga elaborato dalla griglia. Ciò significa che possiamo catturare e impedire all'evento di raggiungere il datagrid. Di seguito è riportato un esempio di codice che dimostra come un rendering DataGrid può avere un pulsante senza attivare altri comportamenti.

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>
....
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top