Flex - كيفية النقر فوق زر الارتباط المقدم في العمود دون تشغيل حدث النقر لـ AdvancedDatagrid؟

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

سؤال

لديّ AdvancedDatagrid مع عمودين لهما عارضات العناصر. يقوم عارضو العناصر بإعداد أزرار الارتباط في أعمدة كل منها. أريد أن أكون قادرًا على النقر على أزرار الارتباط هذه دون تشغيل حدث itemclick لـ AdvancedDatagrid. أي اقتراحات لكيفية تحقيق هذا؟

هل كانت مفيدة؟

المحلول

لم أعمل مطلقًا مع AdvancedDatagrid ولكني أفترض أن هناك بعض المبادئ. الأول هو سلوك انتشار الحدث. تتم معالجة الحدث بواسطة الزر قبل معالجته بواسطة الشبكة. هذا يعني أنه يمكننا التقاط الحدث وإيقافه من الوصول إلى 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