| 套件 | 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
隱藏繼承公用屬性
顯示繼承公用屬性