適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: 從伺服器擷取資料...
從伺服器擷取資料...
fl.events 

DataChangeEvent  - AS3 Flash

套件fl.events
類別public class DataChangeEvent
繼承DataChangeEvent Inheritance Event Inheritance Object

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

DataChangeEvent 類別會定義在與組件有關聯的資料變更時所傳送的事件。 List、DataGrid、TileList 和 ComboBox 組件都會使用此事件。

此類別提供下列事件:

  • DataChangeEvent.DATA_CHANGE:當組件資料變更時傳送。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
 Inheritedbubbles : Boolean
[唯讀] 指出事件是否為反昇事件。
Event
 Inheritedcancelable : Boolean
[唯讀] 指出是否可避免與事件相關聯的行為指令。
Event
  changeType : String
[唯讀] 會取得觸發事件的變更類型。
DataChangeEvent
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
 InheritedcurrentTarget : Object
[唯讀] 正主動使用事件偵聽程式處理 Event 物件的物件。
Event
  endIndex : uint
[唯讀] 會取得在已變更項目的陣列中,最後一個變更項目的索引。
DataChangeEvent
 InheritedeventPhase : uint
[唯讀] 事件流程中的目前階段。
Event
  items : Array
[唯讀] 會取得包含所變更項目的陣列。
DataChangeEvent
  startIndex : uint
[唯讀] 會取得在已變更項目的陣列中,第一個變更項目的索引。
DataChangeEvent
 Inheritedtarget : Object
[唯讀] 事件目標。
Event
 Inheritedtype : String
[唯讀] 事件類型。
Event
公用方法
 方法定義自
  
DataChangeEvent(eventType:String, changeType:String, items:Array, startIndex:int = -1, endIndex:int = -1)
以指定的參數建立新的 DataChangeEvent 物件。
DataChangeEvent
  
[覆寫] 建立 DataEvent 物件的副本,並設定每個參數的值以符合原始物件的參數值。
DataChangeEvent
 Inherited
formatToString(className:String, ... arguments):String
公用程式函數,可用來實作自訂 ActionScript 3.0 Event 類別中的 toString() 方法。
Event
 Inherited
指出物件是否有已定義的指定屬性。
Object
 Inherited
檢查是否已經對事件呼叫 preventDefault() 方法。
Event
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
 Inherited
如果可以取消事件的預設行為指令,則取消該行為指令。
Event
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
 Inherited
避免處理事件流程中,目前節點以及任何後續節點中的任何事件偵聽程式。
Event
 Inherited
避免處理接續在事件流程中的目前節點之後,後續節點中的任何事件偵聽程式。
Event
 Inherited
傳回代表此物件的字串,根據地區特定慣例進行格式化。
Object
  
[覆寫] 傳回包含 DataChangeEvent 物件所有屬性的字串。
DataChangeEvent
 Inherited
會傳回指定之物件的基本值。
Object
公用常數
 常數定義自
  DATA_CHANGE : String = "dataChange"
[靜態] 會定義 dataChange 事件物件的 type 屬性值。
DataChangeEvent
  PRE_DATA_CHANGE : String = "preDataChange"
[靜態] 會定義 preDataChange 事件物件的 type 屬性值。
DataChangeEvent
屬性詳細資訊

changeType

屬性
changeType:String  [唯讀]

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會取得觸發事件的變更類型。 DataChangeType 類別會定義這個屬性的可能值。



實作
    public function get changeType():String

相關 API 元素

endIndex

屬性 
endIndex:uint  [唯讀]

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會取得在已變更項目的陣列中,最後一個變更項目的索引。



實作
    public function get endIndex():uint

相關 API 元素

items

屬性 
items:Array  [唯讀]

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會取得包含所變更項目的陣列。



實作
    public function get items():Array

startIndex

屬性 
startIndex:uint  [唯讀]

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會取得在已變更項目的陣列中,第一個變更項目的索引。



實作
    public function get startIndex():uint

相關 API 元素

建構函式詳細資料

DataChangeEvent

()建構函式
public function DataChangeEvent(eventType:String, changeType:String, items:Array, startIndex:int = -1, endIndex:int = -1)

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

以指定的參數建立新的 DataChangeEvent 物件。

參數
eventType:String — 變更事件的類型。
 
changeType:String — 所做變更的類型。 DataChangeType 類別會定義這個參數的可能值。
 
items:Array — 已變更之項目的清單。
 
startIndex:int (default = -1) — 已變更之第一個項目的索引。
 
endIndex:int (default = -1) — 已變更之最後一個項目的索引。
方法詳細資訊

clone

()方法
override public function clone():Event

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

建立 DataEvent 物件的副本,並設定每個參數的值以符合原始物件的參數值。

傳回值
Event — 新的 DataChangeEvent 物件,其屬性值符合原始物件的屬性值。

toString

()方法 
override public function toString():String

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

傳回包含 DataChangeEvent 物件所有屬性的字串。 此字串的格式如下:

[ DataChangeEvent type= value changeType= value startIndex= value endIndex= value bubbles= value cancelable= value ]

傳回值
String — 包含 DataChangeEvent 物件所有屬性的字串。
常數詳細資訊

DATA_CHANGE

常數
public static const DATA_CHANGE:String = "dataChange"

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會定義 dataChange 事件物件的 type 屬性值。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
changeType會識別所做變更的類型。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
endIndex會識別最後一個變更項目的索引。
items用於列出已變更之項目的陣列。
startIndex會識別第一個變更項目的索引。
target已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。

相關 API 元素

PRE_DATA_CHANGE

常數 
public static const PRE_DATA_CHANGE:String = "preDataChange"

語言版本: ActionScript 3.0
產品版本: Flash CS3
執行階段版本: Flash Player 9.0.28.0, AIR 1.0

會定義 preDataChange 事件物件的 type 屬性值。 在變更組件資料之前,會先傳送此事件物件。

這個事件具有下列屬性:

屬性
bubblesfalse
cancelablefalse;沒有要取消的預設行為指令。
changeType會識別即將進行的變更類型。
currentTarget正主動使用事件偵聽程式處理 Event 物件的物件。
endIndex會識別即將變更之最後一個項目的索引。
items用於列出即將變更之項目的陣列。
startIndex會識別即將變更之第一個項目的索引。
target已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。

相關 API 元素

DataChangeEventExample.as

此範例將示範如何由 DataProvider 偵聽 DataChangeEvent 廣播,以及如何使用其事件手動填入 DataGrid。
  1. 將 DataGrid 和 Button 類別加入元件庫。
  2. 將這個程式碼儲存成 DataChangeEventExample.as,並與您的 FLA 存放在相同的目錄中。
  3. 將 FLA 中的 DocumentClass 設定為 DataChangeEventExample。
package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import fl.data.DataProvider;
    import fl.events.DataChangeEvent;
    import fl.controls.DataGrid;
    import fl.controls.Button;
    
    public class DataChangeEventExample extends Sprite
    {
        private var dg:DataGrid;
        private var dp:DataProvider;
        private var names:Array = [ "Mary", "Bob", "Sue", "Joe" ];
        
        public function DataChangeEventExample() {
            dp = new DataProvider();
            dp.addEventListener(DataChangeEvent.DATA_CHANGE,dataChanged);
        
            dg = new DataGrid();
            dg.move(10,45);
            dg.setSize(300,250);
            dg.columns = [ "name", "phone", "email" ];
            addChild(dg);

            var addContactBtn:Button = new Button();
            addContactBtn.label = "Add Contact";
            addContactBtn.move(10,10);
            addContactBtn.addEventListener(MouseEvent.CLICK, addContact);
            addChild(addContactBtn);            
        }
        
        private function getRandomPhone():String {
            return randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+"-"+randomDigit()+randomDigit()+randomDigit()+randomDigit();    
        }
        private function randomDigit():String {
            return String(Math.round(Math.random()*10)%10);    
        }
        private function getRandomName():String {
            return names[Math.round(Math.random()*names.length)%names.length];    
        }
        private function addContact(e:MouseEvent):void {
            var randomName:String = getRandomName()
            dp.addItem( { name: randomName, phone: getRandomPhone(), email: randomName + "@fictitious.com" } );
        }
        private function dataChanged(e:DataChangeEvent):void {
            var changedItems:Array = e.items;
            dg.addItem(changedItems[0]);
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。