套件 | fl.events |
類別 | public class DataChangeEvent |
繼承 | DataChangeEvent Event Object |
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
此類別提供下列事件:
-
DataChangeEvent.DATA_CHANGE
:當組件資料變更時傳送。
相關 API 元素
公用屬性
屬性 | 定義自 | ||
---|---|---|---|
bubbles : Boolean [唯讀]
指出事件是否為反昇事件。 | Event | ||
cancelable : Boolean [唯讀]
指出是否可避免與事件相關聯的行為指令。 | Event | ||
changeType : String [唯讀]
會取得觸發事件的變更類型。 | DataChangeEvent | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
currentTarget : Object [唯讀]
正主動使用事件偵聽程式處理 Event 物件的物件。 | Event | ||
endIndex : uint [唯讀]
會取得在已變更項目的陣列中,最後一個變更項目的索引。 | DataChangeEvent | ||
eventPhase : uint [唯讀]
事件流程中的目前階段。 | Event | ||
items : Array [唯讀]
會取得包含所變更項目的陣列。 | DataChangeEvent | ||
startIndex : uint [唯讀]
會取得在已變更項目的陣列中,第一個變更項目的索引。 | DataChangeEvent | ||
target : Object [唯讀]
事件目標。 | Event | ||
type : String [唯讀]
事件類型。 | Event |
公用方法
方法 | 定義自 | ||
---|---|---|---|
DataChangeEvent(eventType:String, changeType:String, items:Array, startIndex:int = -1, endIndex:int = -1)
以指定的參數建立新的 DataChangeEvent 物件。 | DataChangeEvent | ||
[覆寫]
建立 DataEvent 物件的副本,並設定每個參數的值以符合原始物件的參數值。 | DataChangeEvent | ||
公用程式函數,可用來實作自訂 ActionScript 3.0 Event 類別中的 toString() 方法。 | Event | ||
指出物件是否有已定義的指定屬性。 | Object | ||
檢查是否已經對事件呼叫 preventDefault() 方法。 | Event | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
如果可以取消事件的預設行為指令,則取消該行為指令。 | Event | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
避免處理事件流程中,目前節點以及任何後續節點中的任何事件偵聽程式。 | Event | ||
避免處理接續在事件流程中的目前節點之後,後續節點中的任何事件偵聽程式。 | Event | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
[覆寫]
傳回包含 DataChangeEvent 物件所有屬性的字串。 | DataChangeEvent | ||
會傳回指定之物件的基本值。 | Object |
公用常數
常數 | 定義自 | ||
---|---|---|---|
DATA_CHANGE : String = "dataChange" [靜態]
會定義 dataChange 事件物件的 type 屬性值。 | DataChangeEvent | ||
PRE_DATA_CHANGE : String = "preDataChange" [靜態]
會定義 preDataChange 事件物件的 type 屬性值。 | DataChangeEvent |
屬性詳細資訊
changeType | 屬性 |
endIndex | 屬性 |
items | 屬性 |
startIndex | 屬性 |
建構函式詳細資料
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 | () | 方法 |
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
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
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
屬性值。 在變更組件資料之前,會先傳送此事件物件。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
changeType | 會識別即將進行的變更類型。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
endIndex | 會識別即將變更之最後一個項目的索引。 |
items | 用於列出即將變更之項目的陣列。 |
startIndex | 會識別即將變更之第一個項目的索引。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
範例 如何使用本範例
DataChangeEventExample.as
此範例將示範如何由 DataProvider 偵聽 DataChangeEvent 廣播,以及如何使用其事件手動填入 DataGrid。
- 將 DataGrid 和 Button 類別加入元件庫。
- 將這個程式碼儲存成 DataChangeEventExample.as,並與您的 FLA 存放在相同的目錄中。
- 將 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]); } } }
Tue Jun 12 2018, 03:47 PM Z