Return-Path: X-Original-To: apmail-flex-issues-archive@minotaur.apache.org Delivered-To: apmail-flex-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5F15510E90 for ; Fri, 14 Mar 2014 13:41:07 +0000 (UTC) Received: (qmail 39504 invoked by uid 500); 14 Mar 2014 13:40:56 -0000 Delivered-To: apmail-flex-issues-archive@flex.apache.org Received: (qmail 39415 invoked by uid 500); 14 Mar 2014 13:40:54 -0000 Mailing-List: contact issues-help@flex.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flex.apache.org Delivered-To: mailing list issues@flex.apache.org Received: (qmail 39361 invoked by uid 99); 14 Mar 2014 13:40:51 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Mar 2014 13:40:51 +0000 Date: Fri, 14 Mar 2014 13:40:51 +0000 (UTC) From: "Gary Yang (JIRA)" To: issues@flex.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (FLEX-34143) Give an event handle. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FLEX-34143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13934436#comment-13934436 ] Gary Yang edited comment on FLEX-34143 at 3/14/14 1:40 PM: ----------------------------------------------------------- According to my knowledge, Flex Binding depend on two kinds of events: 1) PropertyChangedEvent, which will trigger binding when a)there is a [Bindable] for a class, and any of it's public property changed; b) a public property with [Bindable]; 2) Any event with event type in property getter's [Bindable( event="eventTypeTriggeringBinding")], which will trigger binding when it is dispatched. a binding is always: What I am expecting to know is which of [ a, b, c, d, e, f, g, h ] 's change triggering the handler, NOT the source event( could be anything even MouseDown which is totally out of Binding's scope); I'm sorry for the confusion. Please see http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7cc5.html for more about Binding and events. Thank you! was (Author: flashflexpro): According to my knowledge, Flex Binding depend on two kinds of events: 1) PropertyChangedEvent, which will trigger binding when a)there is a [Bindable] for a class, and any of it's public property changed; b) a public property with [Bindable]; 2) Any event with event type in property getter's [Bindable( event="eventTypeTriggeringBinding")], which will trigger binding when it is dispatched. a binding is always: Give an event handle. > ------------------------------------ > > Key: FLEX-34143 > URL: https://issues.apache.org/jira/browse/FLEX-34143 > Project: Apache Flex > Issue Type: Improvement > Components: Data Binding > Reporter: Gary Yang > Original Estimate: 672h > Remaining Estimate: 672h > > 1st of all, Flex Binding is great!!! > I am using it this way: > >>>>>>>>>>>>>>>>>code>>>>>>>>>>>> > [Bindable("dataChange")] > public function get rowData():VLogicTreeGridRow{ > return data as VLogicTreeGridRow; > } > private var _cellData:VLogicTreeGridCell; > [Bindable(event="cellDataChanged")] > public function get cellData():VLogicTreeGridCell{ > return _cellData; > } > private function set rfrCellData( v:* ):void{ > if( rowData != null > && logicTreeGrid.columns != null && logicTreeGrid.columns.length > 0 > && rowData.cellList != null && rowData.cellList.length > 0 > ){ > var idx:int = logicTreeGrid.columns.getItemIndex( treeGridColLogic ); > var rt:VLogicTreeGridCell = rowData.cellList.getItemAt( idx ) as VLogicTreeGridCell; > if( _cellData != rt ){ > _cellData = rt; > dispatchEvent( new Event( "cellDataChanged" ) ); > } > } > } > ]]> > > > > > > <<<<<<<<<<<<<< Because the destination of Binding tag can only be setters, I have to use it this way if I want to handle changes from the Binding sources, do you think it's possible to add a handle for Binding tag so that I can see exactly what event caused the change please? > So that it can be like this > >>>>>>>>>>>>>>>>>code>>>>>>>>>>>> > private function refreshCellData( ev:Event ):void{ > if( ev is CollectionEvent ){ > > } > else if( ev is PropertyChangeEvent ){ > > } > if( rowData != null > && logicTreeGrid.columns != null && logicTreeGrid.columns.length > 0 > && rowData.cellList != null && rowData.cellList.length > 0 > ){ > var idx:int = logicTreeGrid.columns.getItemIndex( treeGridColLogic ); > var rt:VLogicTreeGridCell = rowData.cellList.getItemAt( idx ) as VLogicTreeGridCell; > if( _cellData != rt ){ > _cellData = rt; > dispatchEvent( new Event( "cellDataChanged" ) ); > } > } > } > ]]> > > > > > > <<<<<<<<<<<<<< This is going to be very useful!!! -- This message was sent by Atlassian JIRA (v6.2#6252)