套件 | fl.events |
類別 | public class DataGridEvent |
繼承 | DataGridEvent ListEvent Event Object |
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
-
DataGridEvent.COLUMN_STRETCH
:在使用者水平調整欄的大小之後傳送。 -
DataGridEvent.HEADER_RELEASE
:在使用者以滑鼠按下欄標題再放開之後傳送。 -
DataGridEvent.ITEM_EDIT_BEGIN
:當項目可以進行編輯時傳送。 -
DataGridEvent.ITEM_EDIT_BEGINNING
:當使用者準備好要編輯某個項目時傳送。例如,使用者在滑鼠指標位於項目上方時放開滑鼠按鈕,即表示準備好了。 -
DataGridEvent.ITEM_EDIT_END
:當編輯工作階段正在結束時傳送。 -
DataGridEvent.ITEM_FOCUS_IN
:在項目成為焦點之後傳送。 -
DataGridEvent.ITEM_FOCUS_OUT
:在項目失去焦點之後傳送。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
bubbles : Boolean [唯讀]
指出事件是否為反昇事件。 | Event | ||
cancelable : Boolean [唯讀]
指出是否可避免與事件相關聯的行為指令。 | Event | ||
columnIndex : int [唯讀]
會取得與此事件相關聯之項目的欄索引。 | ListEvent | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
currentTarget : Object [唯讀]
正主動使用事件偵聽程式處理 Event 物件的物件。 | Event | ||
dataField : String
會取得或設定與欄相關聯之資料中的欄位或屬性名稱。 | DataGridEvent | ||
eventPhase : uint [唯讀]
事件流程中的目前階段。 | Event | ||
index : int [唯讀]
會取得包含輸出器之儲存格的索引 (從零開始)。 | ListEvent | ||
item : Object [唯讀]
會取得屬於目前儲存格輸出器的資料。 | ListEvent | ||
itemRenderer : Object [唯讀]
會取得正在編輯之項目的項目輸出器,或正當按一下或調整大小的標題輸出器。 | DataGridEvent | ||
reason : String [唯讀]
會取得傳送 itemEditEnd 事件的原因。 | DataGridEvent | ||
rowIndex : Object [唯讀]
會取得與此事件相關聯之項目的列索引。 | ListEvent | ||
target : Object [唯讀]
事件目標。 | Event | ||
type : String [唯讀]
事件類型。 | Event |
方法 | 定義自 | ||
---|---|---|---|
DataGridEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, columnIndex:int = -1, rowIndex:int = -1, itemRenderer:Object = null, dataField:String = null, reason:String = null)
以指定的參數建立新的 DataGridEvent 物件。 | DataGridEvent | ||
[覆寫]
建立 DataGridEvent 物件的副本,並設定每個屬性的值以符合原始物件的屬性值。 | DataGridEvent | ||
公用程式函數,可用來實作自訂 ActionScript 3.0 Event 類別中的 toString() 方法。 | Event | ||
指出物件是否有已定義的指定屬性。 | Object | ||
檢查是否已經對事件呼叫 preventDefault() 方法。 | Event | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
如果可以取消事件的預設行為指令,則取消該行為指令。 | Event | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
避免處理事件流程中,目前節點以及任何後續節點中的任何事件偵聽程式。 | Event | ||
避免處理接續在事件流程中的目前節點之後,後續節點中的任何事件偵聽程式。 | Event | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
[覆寫]
傳回包含 DataGridEvent 物件所有屬性的字串。 | DataGridEvent | ||
會傳回指定之物件的基本值。 | Object |
常數 | 定義自 | ||
---|---|---|---|
COLUMN_STRETCH : String = "columnStretch" [靜態]
DataGridEvent.COLUMN_STRETCH 常數會定義 columnStretch 事件物件的 type 屬性值。 | DataGridEvent | ||
HEADER_RELEASE : String = "headerRelease" [靜態]
DataGridEvent.HEADER_RELEASE 常數會定義 headerRelease 事件物件的 type 屬性值。 | DataGridEvent | ||
ITEM_EDIT_BEGIN : String = "itemEditBegin" [靜態]
DataGridEvent.ITEM_EDIT_BEGIN 常數會定義 itemEditBegin 事件物件的 type 屬性值。 | DataGridEvent | ||
ITEM_EDIT_BEGINNING : String = "itemEditBeginning" [靜態]
DataGridEvent.ITEM__EDIT_BEGINNING 常數會定義 itemEditBeginning 事件物件的 type 屬性值。 | DataGridEvent | ||
ITEM_EDIT_END : String = "itemEditEnd" [靜態]
DataGridEvent.ITEM_EDIT_END 常數會定義 itemEditEnd 事件物件的 type 屬性值。 | DataGridEvent | ||
ITEM_FOCUS_IN : String = "itemFocusIn" [靜態]
DataGridEvent.ITEM_FOCUS_IN 常數會定義 itemFocusIn 事件物件的 type 屬性值。 | DataGridEvent | ||
ITEM_FOCUS_OUT : String = "itemFocusOut" [靜態]
DataGridEvent.ITEM_FOCUS_OUT 常數會定義 itemFocusOut 事件物件的 type 屬性值。 | DataGridEvent |
dataField | 屬性 |
itemRenderer | 屬性 |
reason | 屬性 |
DataGridEvent | () | 建構函式 |
public function DataGridEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, columnIndex:int = -1, rowIndex:int = -1, itemRenderer:Object = null, dataField:String = null, reason:String = null)
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
以指定的參數建立新的 DataGridEvent 物件。
參數type:String — 事件類型,這個值會指出導致此事件的動作。
| |
bubbles:Boolean (default = false ) — 會指出此事件是否能反昇顯示清單階層。
| |
cancelable:Boolean (default = false ) — 指出是否可避免與事件相關聯的行為指令。
| |
columnIndex:int (default = -1 ) — 包含輸出器的欄索引 (從零開始)。
| |
rowIndex:int (default = -1 ) — 包含輸出器的列索引 (從零開始)。
| |
itemRenderer:Object (default = null ) — 正在編輯之項目的項目輸出器,或正在按下或延伸的標頭輸出器。
| |
dataField:String (default = null ) — 資料中與欄相關聯的欄位或屬性名稱。
| |
reason:String (default = null ) — 傳送 itemEditEnd 事件的原因。
|
相關 API 元素
clone | () | 方法 |
toString | () | 方法 |
override public function toString():String
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
傳回包含 DataGridEvent 物件所有屬性的字串。 此字串的格式如下:
[ DataGridEvent type= value bubbles= value cancelable= value columnIndex= value rowIndex= value itemRenderer= value dataField= value reason= value
]
String — 包含 DataGridEvent 物件所有屬性的字串。
|
COLUMN_STRETCH | 常數 |
public static const COLUMN_STRETCH:String = "columnStretch"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.COLUMN_STRETCH
常數會定義 columnStretch
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | 與項目的欄相關聯之資料中的欄位或屬性名稱。 |
itemRenderer | 所延伸那一欄的標題輸出器。 |
reason | null |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
範例 ( 如何使用本範例 )
columnStretch
事件:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.events.DataGridEvent; var dp:DataProvider = new DataProvider(); dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"}); dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"}); dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"}); dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"}); var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn("col1"); myDataGrid.addColumn("col2"); myDataGrid.addColumn("col3"); myDataGrid.dataProvider = dp; myDataGrid.setSize(300, 200); myDataGrid.move(10, 10); myDataGrid.addEventListener(DataGridEvent.COLUMN_STRETCH, columnStretchHandler); addChild(myDataGrid); function columnStretchHandler(event:DataGridEvent):void { var dg:DataGrid = event.target as DataGrid; var column:DataGridColumn; var columnArray:Array = dg.columns; var dgColWidth:String; trace("resized column:", event.dataField); trace("columnIndex:", event.columnIndex); for each (column in columnArray) { dgColWidth = Number(column.width / dg.width * 100).toFixed(1); trace(column.dataField + ".width:", column.width + " pixels (" + dgColWidth + "%)"); } trace("----------"); }
HEADER_RELEASE | 常數 |
public static const HEADER_RELEASE:String = "headerRelease"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.HEADER_RELEASE
常數會定義 headerRelease
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | 與項目的欄相關聯之資料中的欄位或屬性名稱。 |
itemRenderer | 已按下的標題輸出器。 |
reason | null |
rowIndex | -1 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
範例 ( 如何使用本範例 )
headerRelease
事件:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.events.DataGridEvent; var dp:DataProvider = new DataProvider(); dp.addItem({col1:"item 1.A", col2:"item 1.B", col3:"item 1.C"}); dp.addItem({col1:"item 2.A", col2:"item 2.B", col3:"item 2.C"}); dp.addItem({col1:"item 3.A", col2:"item 3.B", col3:"item 3.C"}); dp.addItem({col1:"item 4.A", col2:"item 4.B", col3:"item 4.C"}); var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn("col1"); myDataGrid.addColumn("col2"); myDataGrid.addColumn("col3"); myDataGrid.dataProvider = dp; myDataGrid.setSize(300, 200); myDataGrid.move(10, 10); myDataGrid.addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler); addChild(myDataGrid); function headerReleaseHandler(event:DataGridEvent):void { var dg:DataGrid = event.target as DataGrid; trace("dataField:", event.dataField, "(columnIndex:" + event.columnIndex + ")"); trace("sortIndex:", dg.sortIndex); trace("sortDescending:", dg.sortDescending); trace("----------"); }
ITEM_EDIT_BEGIN | 常數 |
public static const ITEM_EDIT_BEGIN:String = "itemEditBegin"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.ITEM_EDIT_BEGIN
常數會定義 itemEditBegin
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | null |
itemRenderer | 要編輯之項目的項目輸出器。 |
reason | null |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
ITEM_EDIT_BEGINNING | 常數 |
public static const ITEM_EDIT_BEGINNING:String = "itemEditBeginning"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.ITEM__EDIT_BEGINNING
常數會定義 itemEditBeginning
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | 與項目的欄相關聯之資料中的欄位或屬性名稱。 |
itemRenderer | 要編輯之項目的項目輸出器。 |
reason | null |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
ITEM_EDIT_END | 常數 |
public static const ITEM_EDIT_END:String = "itemEditEnd"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.ITEM_EDIT_END
常數會定義 itemEditEnd
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | 與項目的欄相關聯之資料中的欄位或屬性名稱。 |
itemRenderer | 要編輯之項目的項目輸出器。 |
reason | 定義事件原因的常數。 此值必須是 DataGridEventReason 類別的成員。 |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
ITEM_FOCUS_IN | 常數 |
public static const ITEM_FOCUS_IN:String = "itemFocusIn"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.ITEM_FOCUS_IN
常數會定義 itemFocusIn
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | null |
itemRenderer | 要編輯之項目的項目輸出器。 |
reason | null |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
ITEM_FOCUS_OUT | 常數 |
public static const ITEM_FOCUS_OUT:String = "itemFocusOut"
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGridEvent.ITEM_FOCUS_OUT
常數會定義 itemFocusOut
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | null |
itemRenderer | 要編輯之項目的項目輸出器。 |
reason | null |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
若要執行範例,請遵循下列步驟:
- 將 DataGrid 組件加入元件庫。
- 將此程式碼另存為 DataGridEventExample.as,與 FLA 檔放在同一個目錄中。
- 將 FLA 檔中的 Document 類別設定為 DataGridEventExample。
package { import fl.controls.DataGrid; import fl.data.DataProvider; import fl.events.DataGridEvent; import fl.events.DataGridEventReason; import flash.display.Sprite; public class DataGridEventExample extends Sprite { private var dg:DataGrid; public function DataGridEventExample() { createDataGrid(); } private function createDataGrid():void { dg = new DataGrid(); addChild(dg); dg.setSize(200,300); dg.editable = true; var dp:DataProvider = new DataProvider(); var i:uint; var totalRows:uint = 42; for(i=0; i<totalRows; i++) { dp.addItem( { col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber() } ); } dg.dataProvider = dp; dg.addEventListener(DataGridEvent.ITEM_EDIT_BEGIN, announceEditBegin); dg.addEventListener(DataGridEvent.ITEM_EDIT_END, announceEditEnd); } private function announceEditBegin(e:DataGridEvent):void { trace("Edit Begin on row: " + e.rowIndex + " col: " + e.columnIndex); } private function announceEditEnd(e:DataGridEvent):void { var reason:String; switch(e.reason) { case DataGridEventReason.CANCELLED: reason = "User cancelled edit"; break; case DataGridEventReason.NEW_ROW: reason = "User focused to another row"; break; case DataGridEventReason.NEW_COLUMN: reason = "User focused to another column"; break; case DataGridEventReason.OTHER: default: reason = "Edit ended for other reason"; reason = e.reason; break; } trace("Edit End on row: " + e.rowIndex + " col: " + e.columnIndex); trace("Reason: " + reason.toString()); } private function getRandomNumber():uint { return Math.round(Math.random()*100); } } }
Tue Jun 12 2018, 03:47 PM Z