Eu nunca trabalhei com um AdvancedDataGrid, mas presumo que alguns princípios se mantenham. O primeiro é o comportamento da propagação do evento. O evento é processado pelo botão antes de ser processado pela grade. Isso significa que podemos pegar e impedir que o evento atinja o DataGrid. Abaixo está uma amostra de código que demonstra como um renderizador DataGrid pode ter um botão sem acionar outro comportamento.
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>
....