套件 | fl.controls |
類別 | public class DataGrid |
繼承 | DataGrid SelectableList BaseScrollPane UIComponent Sprite DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
實作 | IFocusManagerComponent |
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGrid 組件非常適用於顯示含有多個屬性的物件。 DataGrid 組件顯示的資料可以包含在 DataProvider 物件中,或做為物件的陣列。 DataGrid 組件的欄可以使用 DataGridColumn 物件的清單來表示,其中每一個物件都會包含各欄特定的資訊。
DataGrid 組件可提供下列功能:
- 不同寬度或相同固定寬度的欄
- 使用者可以在執行階段調整大小的欄
- 使用者可以在執行階段,使用 ActionScript 重新排列的欄
- 選擇性的可自訂欄標題
- 支援自訂項目輸出器,可在任何欄中顯示文字以外的資料
- 支援按一下包含某項資料的欄即排序該資料的功能
DataGrid 組件是由多個子組件構成,其中包括 ScrollBar、HeaderRenderer、CellRenderer、DataGridCellEditor 和 ColumnDivider 組件,這些子組件都可以在編寫期間或執行階段設定其外觀。
DataGrid 組件會使用包裝在 dataGridClasses 套件中的下列類別:
- DataGridColumn:描述 DataGrid 組件中的一欄。 包含該欄的索引、寬度和其他屬性,但不包含儲存格資料。
- HeaderRenderer:顯示目前 DataGrid 欄的欄標題。 包含欄標題的標籤和其他屬性。
- DataGridCellEditor:管理每個儲存格的資料編輯運作。
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
對此 InteractiveObject 實體目前的輔助功能實作 (AccessibilityImplementation)。 | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
此顯示物件的目前輔助功能選項。 | DisplayObject | ||
allowMultipleSelection : Boolean
會取得 Boolean 值,指出是否可以一次選取多個清單項目。 | SelectableList | ||
alpha : Number
指出所指定物件的 Alpha 透明度值。 | DisplayObject | ||
blendMode : String
來自 BlendMode 類別的值,會指定要使用何種混合模式。 | DisplayObject | ||
blendShader : Shader [唯寫]
設定用來混合前景和背景的著色器。 | DisplayObject | ||
buttonMode : Boolean
可指定此 sprite 的按鈕模式。 | Sprite | ||
cacheAsBitmap : Boolean
如果設定為 true,Flash 執行階段會快取顯示物件的內部點陣圖表示法。 | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
如果為非 null,當 cacheAsBitmap 設定為 true 時,這個 Matrix 物件會定義顯示物件的顯示方法。 | DisplayObject | ||
columns : Array
會取得或設定 DataGridColumn 物件的陣列,每一個物件都代表可以顯示的欄。 | DataGrid | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object | ||
contextMenu : NativeMenu
指定與此物件有關聯的快顯選單。 | InteractiveObject | ||
dataProvider : DataProvider
會取得或設定要檢視之項目清單的資料模型。 | SelectableList | ||
doubleClickEnabled : Boolean
會指定物件是否會收到 doubleClick 事件。 | InteractiveObject | ||
dropTarget : DisplayObject [唯讀]
指定要將 sprite 拖曳至或丟棄至哪個顯示物件上。 | Sprite | ||
editable : Boolean = false
會指出使用者是否可以編輯資料提供者內的項目。 | DataGrid | ||
editedItemPosition : Object
會針對目前正在編輯的資料提供者項目,取得或設定其項目輸出器的欄與列索引。 | DataGrid | ||
editedItemRenderer : ICellRenderer [唯讀]
會取得 DataGrid 組件內項目輸出器的參考,而此組件的項目目前正在編輯。 | DataGrid | ||
enabled : Boolean
會取得或設定值,指出組件是否可以接受使用者互動。 | UIComponent | ||
filters : Array
索引的陣列,其中包含目前和顯示物件相關的每個濾鏡物件。 | DisplayObject | ||
focusEnabled : Boolean
會取得或設定 Boolean 值,指出組件是否可以在使用者按一下之後成為焦點。 | UIComponent | ||
focusManager : IFocusManager
會取得或設定控制此組件及其同輩之焦點的 FocusManager。 | UIComponent | ||
focusRect : Object
會指定這個物件是否會顯示焦點矩形。 | InteractiveObject | ||
graphics : Graphics [唯讀]
指定屬於此 sprite 物件的 Graphics 物件,其中可能會產生向量繪圖命令。 | Sprite | ||
headerHeight : Number
會取得或設定 DataGrid 標題的高度,以像素為單位。 | DataGrid | ||
height : Number [覆寫]
會取得或設定組件的高度,以像素為單位。 | UIComponent | ||
hitArea : Sprite
指定用來當作 sprite 作用區域的另一個 sprite。 | Sprite | ||
horizontalLineScrollSize : Number
會取得或設定值,描述當按一下捲動箭頭時,內容要水平捲動的量。 | BaseScrollPane | ||
horizontalPageScrollSize : Number
會取得或設定當按下捲軸軌道時,捲動縮圖在水平捲軸上移動的像素數目。 | BaseScrollPane | ||
horizontalScrollBar : ScrollBar [唯讀]
會取得水平捲軸的參考。 | BaseScrollPane | ||
horizontalScrollPolicy : String [覆寫]
會取得或設定 Boolean 值,指出是否永遠啟用水平捲軸。 | DataGrid | ||
horizontalScrollPosition : Number
會取得或設定值,描述水平捲軸在捲動窗格中的水平位置,以像素為單位。 | BaseScrollPane | ||
imeMode : String
會取得或設定輸入法編輯器 (IME) 的模式。 | DataGrid | ||
itemEditorInstance : Object
目前作用中之項目編輯器實體的參考 (如果該實體存在)。 | DataGrid | ||
labelFunction : Function
會取得或設定函數,決定每個項目要以哪些欄位做為標籤文字。 | DataGrid | ||
length : uint [唯讀]
會取得資料提供者中的項目數。 | SelectableList | ||
loaderInfo : LoaderInfo [唯讀]
會傳回 LoaderInfo 物件,其中包含關於載入此顯示物件所屬之檔案的資訊。 | DisplayObject | ||
mask : DisplayObject
呼叫之顯示物件會以指定的 mask 物件遮蓋。 | DisplayObject | ||
maxHorizontalScrollPosition : Number [覆寫]
會取得或設定當 horizontalScrollPolicy 屬性設定為 ScrollPolicy.ON 時,清單向右捲動的像素數目。 | SelectableList | ||
maxVerticalScrollPosition : Number [唯讀]
會取得目前內容的最大垂直捲動位置,以像素為單位。 | BaseScrollPane | ||
metaData : Object
如果中繼資料是透過 PlaceObject4 標籤與 SWF 檔案中的這個 DisplayObject 實體一同儲存,則會取得 DisplayObject 實體的中繼資料物件。 | DisplayObject | ||
minColumnWidth : Number
會取得或設定 DataGrid 的最小欄寬,以像素為單位。 | DataGrid | ||
mouseChildren : Boolean
判斷物件的子系是否支援啟用滑鼠或使用者輸入裝置。 | DisplayObjectContainer | ||
mouseEnabled : Boolean
指定此物件是否接收滑鼠或其他使用者輸入及訊息。 | InteractiveObject | ||
mouseFocusEnabled : Boolean
會取得或設定值,指出組件是否可以在使用者按一下之後成為焦點。 | UIComponent | ||
mouseX : Number [唯讀]
指出滑鼠或使用者輸入裝置位置的 x 座標,以像素為單位。 | DisplayObject | ||
mouseY : Number [唯讀]
指出滑鼠或使用者輸入裝置位置的 y 座標,以像素為單位。 | DisplayObject | ||
name : String
指出 DisplayObject 的實體名稱。 | DisplayObject | ||
needsSoftKeyboard : Boolean
指定虛擬鍵盤 (螢幕上的軟體鍵盤) 是否應在此 InteractiveObject 實體接收到焦點時顯示。 | InteractiveObject | ||
numChildren : int [唯讀]
傳回此物件的子系數量。 | DisplayObjectContainer | ||
opaqueBackground : Object
會指定顯示物件是否不透明,並具有特定背景顏色。 | DisplayObject | ||
parent : DisplayObjectContainer [唯讀]
指出包含此顯示物件的 DisplayObjectContainer 物件。 | DisplayObject | ||
resizableColumns : Boolean = true
會指出使用者是否可以變更欄的大小。 | DataGrid | ||
root : DisplayObject [唯讀]
對載入之 SWF 檔案的顯示物件而言,root 屬性就是該 SWF 檔案所呈現之顯示清單樹狀結構部分的最上層顯示物件。 | DisplayObject | ||
rotation : Number
指出 DisplayObject 實體的旋轉度數 (從該物件原本方向算起)。 | DisplayObject | ||
rotationX : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 x 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rotationY : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 y 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rotationZ : Number
表示 DisplayObject 實體相對於 3D 父輩容器從原始方向旋轉的 z 軸旋轉 (以度數為單位)。 | DisplayObject | ||
rowCount : uint [覆寫]
會取得或設定清單中至少可以看見部分的列數。 | DataGrid | ||
rowHeight : Number
會取得或設定 DataGrid 組件中每一列的高度,以像素為單位。 | DataGrid | ||
scale9Grid : Rectangle
目前產生效用的縮放格線。 | DisplayObject | ||
scaleX : Number [覆寫]
會將目前組件的寬度乘以縮放比例係數。 | UIComponent | ||
scaleY : Number [覆寫]
會將目前組件的高度乘以縮放比例係數。 | UIComponent | ||
scaleZ : Number
指出從物件註冊點套用的物件深度縮放 (百分比)。 | DisplayObject | ||
scrollRect : Rectangle
顯示物件的捲動矩形範圍。 | DisplayObject | ||
selectable : Boolean
會取得或設定 Boolean 值,指出是否可以選取清單中的項目。 | SelectableList | ||
selectedIndex : int
會取得或設定在單選清單中選取之項目的索引。 | SelectableList | ||
selectedIndices : Array
會取得或設定包含由複選清單中選取之項目的陣列。 | SelectableList | ||
selectedItem : Object
會取得或設定從單選清單中選取的項目。 | SelectableList | ||
selectedItems : Array
會取得或設定包含物件的陣列,這些物件代表從複選清單中選取的項目。 | SelectableList | ||
showHeaders : Boolean
會取得或設定 Boolean 值,指出 DataGrid 組件是否顯示欄標題。 | DataGrid | ||
softKeyboard : String
控制軟體鍵盤的外觀。 | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
定義顯示軟體鍵盤時,應保留於螢幕上的區域 (iOS 未提供)。 | InteractiveObject | ||
sortableColumns : Boolean = true
會指出使用者是否可以透過按一下欄標題儲存格的方式,排序資料提供者中的項目。 | DataGrid | ||
sortDescending : Boolean [唯讀]
會取得當使用者按一下某一欄的標題時,排序該欄所依照的順序。 | DataGrid | ||
sortIndex : int [唯讀]
會取得要排序的欄索引。 | DataGrid | ||
soundTransform : flash.media:SoundTransform
控制此 Sprite 的聲音。 | Sprite | ||
stage : Stage [唯讀]
顯示物件的「舞台」。 | DisplayObject | ||
tabChildren : Boolean
判斷物件的子系是否支援啟用定位鍵。 | DisplayObjectContainer | ||
tabEnabled : Boolean
會指定這個物件是否在停駐點順序中。 | InteractiveObject | ||
tabIndex : int
會指定 SWF 檔中的物件停駐點順序。 | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [唯讀]
傳回此 DisplayObjectContainer 實體的 TextSnapshot 物件。 | DisplayObjectContainer | ||
transform : flash.geom:Transform
這是一個物件,具有和顯示物件的矩陣、顏色轉換和像素邊界有關的屬性。 | DisplayObject | ||
useBitmapScrolling : Boolean
設定為 true 時,捲動內容的 cacheAsBitmap 屬性會設定為 true;設定為 false 時,則會關閉這個值。 | BaseScrollPane | ||
useHandCursor : Boolean
指示當指標滑入 Sprite,且其 buttonMode 屬性設為 true 時,是否要出現指示手掌 (手掌游標) 的 Boolean 值。 | Sprite | ||
verticalLineScrollSize : Number
會取得或設定值,描述當按一下捲動箭頭時,要垂直捲動多少像素。 | BaseScrollPane | ||
verticalPageScrollSize : Number
會取得或設定當按下捲軸軌道時,捲動縮圖在垂直捲軸上移動的像素數目。 | BaseScrollPane | ||
verticalScrollBar : ScrollBar [唯讀]
會取得垂直捲軸的參考。 | BaseScrollPane | ||
verticalScrollPolicy : String
會取得或設定指出垂直捲軸狀態的值。 | BaseScrollPane | ||
verticalScrollPosition : Number
會取得或設定值,描述垂直捲軸在捲動窗格中的垂直位置,以像素為單位。 | BaseScrollPane | ||
visible : Boolean [覆寫]
會取得或設定值,指出目前組件實體是否為可見。 | UIComponent | ||
width : Number [覆寫]
會取得或設定組件的寬度,以像素為單位。 | UIComponent | ||
x : Number [覆寫]
會取得或設定 x 座標,代表組件在其父輩容器內的 x 軸位置。 | UIComponent | ||
y : Number [覆寫]
會取得或設定 y 座標,代表組件在其父輩容器內的 y 軸位置。 | UIComponent | ||
z : Number
表示 DisplayObject 實體相對於 3D 父輩容器的 z 座標位置 (沿著 z 軸)。 | DisplayObject |
方法 | 定義自 | ||
---|---|---|---|
DataGrid()
建立新的 DataGrid 組件實體。 | DataGrid | ||
將 DisplayObject 子實體加入至此 DisplayObjectContainer 實體。 | DisplayObjectContainer | ||
將 DisplayObject 子實體加入至此 DisplayObjectContainer 實體。 | DisplayObjectContainer | ||
在 columns 陣列的結尾增加一欄。 | DataGrid | ||
在 column 陣列內指定的索引位置插入一欄。 | DataGrid | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
會在 EventDispatcher 物件註冊事件偵聽程式,以便讓偵聽程式收到事件的通知。 | EventDispatcher | ||
將某一項目附加至項目清單的結尾。 | SelectableList | ||
會將項目插入清單的指定索引位置。 | SelectableList | ||
指出安全性限制是否會造成傳回的清單 (可用指定的 point 點呼叫 DisplayObjectContainer.getObjectsUnderPoint() 方法來取得) 省略任何顯示物件。 | DisplayObjectContainer | ||
會清除清單中的輸出器所設定的樣式。 | SelectableList | ||
會清除清單內目前選取的項目,並將 selectedIndex 屬性設定為 -1。 | SelectableList | ||
從此組件實體刪除某種樣式屬性。 | UIComponent | ||
判斷指定的顯示物件是否為 DisplayObjectContainer 實體的子系,或為實體本身。 | DisplayObjectContainer | ||
會使用 itemEditor 屬性指定的編輯器,為位於 editedItemPosition 屬性所辨識之欄與列索引位置的項目輸出器建立項目編輯器。 | DataGrid | ||
會關閉項目輸出器上目前開啟的項目編輯器。 | DataGrid | ||
會將事件傳送到事件流程。 | EventDispatcher | ||
會顯示或隱藏此組件上的焦點指示器。 | UIComponent | ||
會起始立即繪製作業,而不需像 invalidateNow 一樣使所有項目無效化。 | UIComponent | ||
會編輯 DataGrid 組件中的指定欄位或屬性。 | DataGrid | ||
傳回可定義顯示物件區域 (相對於 targetCoordinateSpace 物件的座標系統) 的矩形。 | DisplayObject | ||
取得在 DataGrid 中指定位置的儲存格輸出器實體。 | DataGrid | ||
傳回存在於指定索引位置的子顯示物件實體。 | DisplayObjectContainer | ||
傳回具有指定名稱的子顯示物件。 | DisplayObjectContainer | ||
傳回 child DisplayObject 實體的索引位置。 | DisplayObjectContainer | ||
會擷取位於 columns 陣列之指定索引位置的欄。 | DataGrid | ||
會擷取 DataGrid 組件中的欄數。 | DataGrid | ||
會擷取指定名稱的欄索引。如果找不到符合名稱的欄,則為 -1。 | DataGrid | ||
會擷取目前成為焦點的物件。 | UIComponent | ||
會擷取位於指定索引的項目。 | SelectableList | ||
傳回 dataProvider 中標籤的第一個字元符合指定字串字元的下一個項目的索引。 | SelectableList | ||
傳回位於指定點底下,且屬於此 DisplayObjectContainer 實體之子系 (或孫系,以下類推) 的物件陣列。 | DisplayObjectContainer | ||
根據 targetCoordinateSpace 參數所定義的座標系統,並排除形狀上的任何筆畫,傳回可定義顯示物件邊界的矩形。 | DisplayObject | ||
會擷取清單中的輸出器所設定的樣式。 | SelectableList | ||
會擷取在組件樣式查閱鏈中設定的樣式屬性。 | UIComponent | ||
[靜態]
會擷取目前組件的預設樣式對應。 | DataGrid | ||
將 point 物件從「舞台」(全域) 座標轉換成顯示物件的 (區域) 座標。 | DisplayObject | ||
將二維點從「舞台」(全域) 座標轉換為三維顯示物件的 (區域) 座標。 | DisplayObject | ||
會檢查 EventDispatcher 物件是否有對特定的事件類型註冊偵聽程式。 | EventDispatcher | ||
指出物件是否有已定義的指定屬性。 | Object | ||
評估顯示物件的範圍框,看它是否與 obj 顯示物件的範圍框重疊或相交。 | DisplayObject | ||
評估顯示物件,看它是否與 x 和 y 參數所指定的點重疊或相交。 | DisplayObject | ||
會將屬性標示為無效,除非另有指定,否則會在下一個影格上重繪組件。 | UIComponent | ||
使特定的項目輸出器無效化。 | SelectableList | ||
使位於指定索引位置的項目輸出器無效化。 | SelectableList | ||
會使整份清單無效化,並強制重繪清單項目。 | SelectableList | ||
會檢查是否已選取清單中的指定項目。 | SelectableList | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
[覆寫]
DataGrid 組件擁有用於任何指定項目的多個儲存格,因此 itemToCellRenderer 方法永遠會傳回 null。 | DataGrid | ||
擷取輸出器根據物件的 label 屬性而為指定資料物件顯示的字串。 | SelectableList | ||
將三維顯示物件的 (區域) 座標的三維點轉換為「舞台」(全域) 座標中的二維點。 | DisplayObject | ||
將 point 物件從顯示物件的 (區域) 座標轉換成「舞台」(全域) 座標。 | DisplayObject | ||
[靜態]
會將多種類別中的樣式合併為一個物件。 | UIComponent | ||
將組件移至其父輩內指定的位置。 | UIComponent | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
從清單移除所有項目。 | SelectableList | ||
會從 DataGrid 組件移除所有的欄。 | DataGrid | ||
將指定的 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。 | DisplayObjectContainer | ||
從 DisplayObjectContainer 子清單中的指定索引位置移除子 DisplayObject。 | DisplayObjectContainer | ||
將所有 child DisplayObject 實體從 DisplayObjectContainer 實體的子清單中移除。 | DisplayObjectContainer | ||
會移除位於 columns 陣列之指定索引位置的欄。 | DataGrid | ||
會從 EventDispatcher 物件移除偵聽程式。 | EventDispatcher | ||
會移除清單中的指定項目。 | SelectableList | ||
移除位於指定索引位置的項目。 | SelectableList | ||
會以另一個項目取代位於指定索引位置的項目。 | SelectableList | ||
升起顯示虛擬鍵盤。 | InteractiveObject | ||
[覆寫]
會將清單捲動到位於指定索引的項目。 | DataGrid | ||
會將清單捲動到 selectedIndex 屬性目前值所示位置的項目。 | SelectableList | ||
變更顯示物件容器中現有子系的位置。 | DisplayObjectContainer | ||
將焦點設定到此組件。 | UIComponent | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
會針對清單中的輸出器設定樣式。 | SelectableList | ||
會將組件設定為指定的寬度和高度。 | UIComponent | ||
針對此組件實體設定樣式屬性。 | UIComponent | ||
會排序目前資料提供者的元素。 | SelectableList | ||
會依據目前資料提供者的一個或多個欄位,排序此資料提供者的元素。 | SelectableList | ||
會將可見欄重設為相同寬度。 | DataGrid | ||
讓使用者拖曳指定的 sprite。 | Sprite | ||
讓使用者將指定的 Sprite 拖曳至觸控裝置上。 | Sprite | ||
遞迴停止執行所有 MovieClips 的時間軸根源於此物件。 | DisplayObjectContainer | ||
結束 startDrag() 方法。 | Sprite | ||
結束觸控裝置使用的 startTouchDrag() 方法。 | Sprite | ||
替換兩個指定子物件的 z 順序 (深度階層,由前至後順序)。 | DisplayObjectContainer | ||
在子清單的兩個指定索引位置,替換子物件的 z 順序 (深度階層,由前至後順序)。 | DisplayObjectContainer | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會確認此物件之屬性和版面的有效性並加以更新,並在必要時重繪此物件。 | UIComponent | ||
會傳回指定之物件的基本值。 | Object | ||
檢查此 EventDispatcher 物件是否已註冊事件偵聽程式,或者此物件的任何祖系已為特定事件類型註冊事件偵聽程式。 | EventDispatcher |
事件 | 摘要 | 定義自 | ||
---|---|---|---|---|
[廣播事件] 當 Flash Player 或 AIR 應用程式取得作業系統焦點並成為作用中時傳送。 | EventDispatcher | |||
當顯示物件加入顯示清單中時傳送。 | DisplayObject | |||
會在顯示物件加入舞台上的顯示清單時,以直接或是透過加入包含該顯示物件之子樹狀結構的方式傳送。 | DisplayObject | |||
當選取清單中的不同項目時傳送。 | SelectableList | |||
當使用者從文字快顯選單中選取「清除」(或「刪除」) 時傳送。 | InteractiveObject | |||
會當使用者在相同的 InteractiveObject 上方按下並放開使用者的指向裝置主按鈕時傳送。 | InteractiveObject | |||
在使用者以水平方向展開某一欄之後傳送。 | DataGrid | |||
當使用者手勢在 AIR 應用程式中觸發與此互動式物件相關聯的快顯選單時傳送。 | InteractiveObject | |||
當使用者針對複製作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「複製」時傳送。 | InteractiveObject | |||
當使用者針對剪下作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「剪下」時傳送。 | InteractiveObject | |||
[廣播事件] 當 Flash Player 或 AIR 應用程式失去作業系統焦點並成為非作用中時傳送。 | EventDispatcher | |||
在 InteractiveObject 物件的 doubleClickEnabled 旗標設為 true 的情況下,當使用者在相同的物件上方連續兩次快速按下並放開指標裝置主要按鈕時傳送。 | InteractiveObject | |||
[廣播事件] 當播放磁頭進入新影格時傳送。 | DisplayObject | |||
[廣播事件] 當播放磁頭結束目前影格時傳送。 | DisplayObject | |||
當顯示物件取得焦點之後傳送。 | InteractiveObject | |||
當顯示物件失去焦點時傳送。 | InteractiveObject | |||
[廣播事件] 在影格顯示物件的建構函式執行之後,且影格指令碼執行之前傳送。 | DisplayObject | |||
當使用者沿著觸控面與 InteractiveObject 實體建立接觸點 (例如沿著 Apple TV 的 Siri Remote 觸控面點選),某些裝置可能也會將此接觸解譯為數個觸控事件的組合。 | InteractiveObject | |||
當使用在觸控裝置上的同一個 InteractiveObject 實體上按下兩個接觸點後送出 (例如在行動電話或平板電腦觸控螢幕的顯示物件上方,以兩支手指按下後鬆開)。 | InteractiveObject | |||
當使用者在觸控裝置上,將接觸點移動到 InteractiveObject 實體上方後傳送 (例如,在行動電話或平板電腦觸控螢幕的顯示物件上,由左向右移動手指)。 | InteractiveObject | |||
當使用者在 InteractiveObject 實體的接觸點上做出旋轉手勢後傳送 (例如兩指觸摸行動電話或平板電腦的觸控螢幕,然後手指在顯示物件上旋轉)。 | InteractiveObject | |||
當使用者在與 InteractiveObject 實體的某個接觸點上做出揮動手勢後傳送 (例如,三指併在一起觸碰行動電話或平板電腦的觸控螢幕,然後在顯示物件上快速平行移動手指)。 | InteractiveObject | |||
當使用者與 InteractiveObject 實體建立接觸點,然後在觸控裝置上點一下後送出 (例如,將多根手指放到行動電話或平板電腦觸控螢幕的顯示物件上以開啟選單,然後其中一根手點一下,選取選單項目)。 | InteractiveObject | |||
當使用者在 InteractiveObject 實體的某個接觸點上做出放大縮小手勢後傳送 (例如兩指併在一起觸摸行動電話或平板電腦的觸控螢幕,然後手指在顯示物件上快速張開)。 | InteractiveObject | |||
在使用者按一下標題儲存格之後傳送。 | DataGrid | |||
在組件的可見性從可見變更為隱藏之後傳送。 | UIComponent | |||
這個事件會送出至任何支援 IME 內嵌輸入的用戶端應用程式。 | InteractiveObject | |||
當使用者按一下組件中某個項目時傳送。 | SelectableList | |||
當使用者連續兩次快速按一下組件中某個項目時傳送。 | SelectableList | |||
在設定 editedItemPosition 屬性之後,而且可以編輯該項目時傳送。 | DataGrid | |||
當使用者準備編輯某個項目 (例如,藉由放開項目上方滑鼠按鈕的方式) 時傳送。 | DataGrid | |||
當項目編輯工作階段因為任何原因而結束時傳送。 | DataGrid | |||
在項目成為焦點之後傳送。 | DataGrid | |||
在項目失去焦點之後傳送。 | DataGrid | |||
當使用者的滑鼠指標滑出組件中某個項目時傳送。 | SelectableList | |||
當使用者的滑鼠指標滑入組件中某個項目時傳送。 | SelectableList | |||
會當使用者按下按鍵時傳送。 | InteractiveObject | |||
當使用者嘗試使用鍵盤瀏覽變更焦點時傳送。 | InteractiveObject | |||
會當使用者放開按鍵時傳送。 | InteractiveObject | |||
當使用者在相同的 InteractiveObject 上方按下並放開使用者的指向裝置中間按鈕時傳送。 | InteractiveObject | |||
當使用者將指向裝置的中間按鈕移至 InteractiveObject 實體上方按下時傳送。 | InteractiveObject | |||
當使用者將指向裝置按鈕移至 InteractiveObject 實體上方放開時傳送。 | InteractiveObject | |||
當使用者將指向裝置按鈕移至 InteractiveObject 實體上方按下時傳送。 | InteractiveObject | |||
會當使用者嘗試使用指向裝置變更焦點時傳送。 | InteractiveObject | |||
會當指向裝置停在 InteractiveObject 上方的情況下使用者將其移動時傳送。 | InteractiveObject | |||
會當使用者將指向裝置移開 InteractiveObject 實體時傳送。 | InteractiveObject | |||
會當使用者將指向裝置移至 InteractiveObject 實體上方時傳送。 | InteractiveObject | |||
當使用者將指向裝置按鈕移至 InteractiveObject 實體上方放開時傳送。 | InteractiveObject | |||
當滑鼠滾輪在 InteractiveObject 實體上方轉動時傳送。 | InteractiveObject | |||
在移動組件之後傳送。 | UIComponent | |||
當使用者釋放手勢時,由拖曳初始程式 InteractiveObject 傳送。 | InteractiveObject | |||
已在目標 InteractiveObject 上放下拖曳的物件,而且已呼叫 DragManager.acceptDragDrop() 接受該放開的資料時,由此目標 InteractiveObject 傳送。 | InteractiveObject | |||
當手勢進入 InteractiveObject 的邊界時,由此 InteractiveObject 傳送。 | InteractiveObject | |||
當手勢離開 InteractiveObject 的邊界時,由此 InteractiveObject 傳送。 | InteractiveObject | |||
當拖曳手勢還留在 InteractiveObject 的邊界內,由此 InteractiveObject 持續傳送。 | InteractiveObject | |||
在呼叫 DragManager.doDrag() 進行拖曳作業初期,由指定做為拖曳初始程式的 InteractiveObject 傳送。 | InteractiveObject | |||
在呼叫 DragManager.doDrag() 進行拖曳作業期間,由指定做為拖曳初始程式的 InteractiveObject 傳送。 | InteractiveObject | |||
當使用者針對貼上作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「貼上」時傳送。 | InteractiveObject | |||
在使用者將作用中觸控筆往下移至超過螢幕鄰近偵測邊框時傳送。 | InteractiveObject | |||
在使用者將作用中觸控筆提到螢幕鄰近偵測邊框時傳送。 | InteractiveObject | |||
在使用者將作用中觸控筆移到螢幕上方,而其餘仍在鄰近偵測邊框內時傳送。 | InteractiveObject | |||
在使用者將作用中觸控筆移出這個 InteractiveObject 之外,而其餘仍在螢幕的鄰近偵測邊框內時傳送。 | InteractiveObject | |||
在使用者直接將作用中觸控筆移到這個 InteractiveObject 上方,而其餘仍在螢幕的鄰近偵測邊框內時傳送。 | InteractiveObject | |||
在使用者將作用中觸控筆移出這個 InteractiveObject 及其任一子系之外,而其餘仍在螢幕的鄰近偵測邊框內時傳送。 | InteractiveObject | |||
在使用者透過這個 InteractiveObject,從顯示清單中後代的物件樹狀結構之外移動作用中觸控筆時傳送 (而其餘仍在螢幕的鄰近偵測邊框內)。 | InteractiveObject | |||
當使用者第一次按下 InteractiveObject 實體上方的按鈕,然後將指向裝置滑出 InteractiveObject 實體之後即放開指向裝置上的按鈕時傳送。 | InteractiveObject | |||
會當顯示物件將要從顯示清單移除時傳送。 | DisplayObject | |||
會在顯示物件即將從顯示清單移除時,以直接或是透過移除包含該顯示物件之子樹狀結構的方式傳送。 | DisplayObject | |||
[廣播事件] 當顯示清單將要更新和顯示時傳送。 | DisplayObject | |||
在調整組件大小之後傳送。 | UIComponent | |||
當使用者在相同的 InteractiveObject 上方按下並放開使用者的指向裝置右邊按鈕時傳送。 | InteractiveObject | |||
當使用者將指向裝置按鈕移至 InteractiveObject 實體上方按下時傳送。 | InteractiveObject | |||
當使用者將指向裝置按鈕移至 InteractiveObject 實體上方放開時傳送。 | InteractiveObject | |||
當使用者將指標滑出組件時傳送。 | SelectableList | |||
當使用者將指標滑入組件時傳送。 | SelectableList | |||
當使用者水平捲動或垂直捲動時傳送。 | SelectableList | |||
當使用者針對全選作業啟動平台特有的快速鍵組合或從文字快顯選單中選取「全選」時傳送。 | InteractiveObject | |||
在組件的可見性從隱藏變更為可見之後傳送。 | UIComponent | |||
升起顯示軟體鍵盤之後立即傳送。 | InteractiveObject | |||
升起顯示軟體鍵盤前立即傳送。 | InteractiveObject | |||
降下隱藏軟體鍵盤之後立即傳送。 | InteractiveObject | |||
在物件的 tabChildren 旗標值變更時傳送。 | InteractiveObject | |||
在物件的 tabEnabled 旗標變更時傳送。 | InteractiveObject | |||
在物件的 tabIndex 屬性值變更時傳送。 | InteractiveObject | |||
當使用者輸入一或多文字的字元時送出。 | InteractiveObject | |||
當使用者在第一次接觸觸控裝置後傳送 (例如手指觸摸行動電話或平板電腦的觸控螢幕)。 | InteractiveObject | |||
當使用者在觸控裝置上移除接觸點後傳送 (例如在行動電話或平板電腦觸控螢幕上移開手指)。 | InteractiveObject | |||
當使用者觸控裝置時傳送,並且連續不斷地傳送,直到接觸點移除為止。 | InteractiveObject | |||
當使用者在觸控裝置中,將接觸點移出 InteractiveObject 實體後送出 (例如在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件移至另一個顯示物件)。 | InteractiveObject | |||
當使用者在觸控裝置中將接觸點移至 InteractiveObject 實體上方後送出 (例如在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件外面的某一點,往顯示物件上方拖曳)。 | InteractiveObject | |||
當使用者在觸控裝置上,將接觸點從 InteractiveObject 實體移出後送出 (例如,在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件上方拖曳到顯示物件以外)。 | InteractiveObject | |||
當使用者在觸控裝置中將接觸點移至 InteractiveObject 實體上方後送出 (例如在行動電話或平板電腦的觸控螢幕上,將手指從顯示物件外面的某一點,往顯示物件上方拖曳)。 | InteractiveObject | |||
當使用者在觸控裝置的同一個 InteractiveObject 實體上,在原先開始接觸點放開後送出 (例如在行動電話或平板電腦觸控螢幕上的顯示物件上方,以手指按下某個點後又鬆開)。 | InteractiveObject |
樣式可分為一般樣式及與特定主題關聯的樣式兩種。如果是一般樣式,可以與任何主題搭配使用。如果是與特定主題關聯的樣式,只有在您的應用程式使用特定主題時才能使用該樣式。
樣式 | 說明 | 定義自 | ||
---|---|---|---|---|
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於提供組件中每一個項目之儲存格輸出器的類別. | SelectableList | |||
columnDividerSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於提供區隔線的類別名稱,該區隔線會出現在欄位之間。 預設值為 DataGrid_columnDividerSkin 。 | DataGrid | ||
columnStretchCursorSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當滑鼠位於兩個欄位標題之間,並且 resizableColumns 屬性是設為 true 時,用於提供所使用之游標的類別名稱。
預設值為 DataGrid_columnStretchCursorSkin 。 | DataGrid | ||
類型: Number 格式: Length 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於讓清單邊框和清單內容之間保持一段距離的邊框距離,以像素為單位. | SelectableList | |||
類型: Number 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當 enabled 屬性是 false 時,用來設定清單的 Alpha 值. | SelectableList | |||
類型: flash.text.TextFormat 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當按鈕停用時用來繪製組件標籤的 TextFormat 物件. | UIComponent | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當捲軸的向下箭頭按鈕停用時,用來作為其外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當您按一下捲軸的向下箭頭按鈕時,用來作為此箭頭按鈕之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當滑鼠指標位於捲軸的向下箭頭按鈕上方時,用來作為此箭頭按鈕之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來作為捲軸向下箭頭按鈕之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Number 格式: Length 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 分開組件外邊框與焦點指示器的外邊緣的邊框 (以像素計). | UIComponent | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來顯示焦點指示器的外觀元素. | UIComponent | |||
headerDisabledSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 停用組件時,用於提供每一個欄位標題背景的類別名稱。 預設值為 HeaderRenderer_disabledSkin 。 | DataGrid | ||
headerDisabledTextFormat | 類型: flash.text.TextFormat 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 停用組件時,用於套用至每一個欄位標題中所包含文字的格式。 預設值為 null 。 | DataGrid | ||
headerDownSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 按下滑鼠時,用於提供每一個欄位標題背景的類別名稱。 預設值為 HeaderRenderer_downSkin 。 | DataGrid | ||
headerOverSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當滑鼠位於欄位標題上方時,用於提供每一個欄位標題背景的類別名稱。 預設值為 HeaderRenderer_overSkin 。 | DataGrid | ||
headerRenderer | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於提供每一個欄位標題的類別名稱。 預設值為 fl.controls.dataGridClasses.HeaderRenderer 。 | DataGrid | ||
headerSortArrowAscSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當欄位是以遞增順序排序時,用於提供排序箭頭的類別名稱。 預設值為 HeaderSortArrow_ascIcon 。 | DataGrid | ||
headerSortArrowDescSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當欄位是以遞減順序排序時,用於提供排序箭頭的類別名稱。 預設值為 HeaderSortArrow_descIcon 。 | DataGrid | ||
headerTextFormat | 類型: flash.text.TextFormat 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於套用至每一個欄位標題中所包含文字的格式。 預設值為 null 。 | DataGrid | ||
headerTextPadding | 類型: Number 格式: Length 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於讓欄位標題邊框和欄位標題文字之間保持一段距離的邊框距離,以像素為單位。 預設值為 5 。 | DataGrid | ||
headerUpSkin | 類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於提供每一個欄位標題背景的類別名稱。 預設值為 HeaderRenderer_upSkin 。 | DataGrid | ||
類型: Number 格式: Time 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 在傳送第二個 buttonDown 事件之前,第一個 buttonDown 事件傳送之後要等候的毫秒數. | BaseScrollPane | |||
類型: Number 格式: Time 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 在發生以 repeatDelay 樣式指定的延遲之後,所傳送的 buttonDown 事件前後的間隔,以毫秒為單位. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用於提供組件背景外觀元素的類別. | SelectableList | |||
類型: flash.text.TextFormat 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來繪製組件標籤的 TextFormat 物件. | UIComponent | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來指出縮圖之停用狀態的外觀元素. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當您按一下捲軸的縮圖時,用來作為此縮圖之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來作為捲軸縮圖之圖示的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當滑鼠指標位於捲軸的縮圖上方時,用來作為此縮圖之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來作為捲軸縮圖之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來指出已停用軌道的外觀元素. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來指出已停用外觀元素之按下狀態的外觀元素. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來指出捲動軌道之滑鼠滑入狀態的外觀元素. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來指出捲動軌道之滑鼠未按下狀態的外觀元素. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當捲軸的向上箭頭按鈕停用時,用來作為其外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當您按一下捲軸的向上箭頭按鈕時,用來作為此箭頭按鈕之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 當滑鼠指標位於捲軸的向上箭頭按鈕上方時,用來作為此箭頭按鈕之外觀元素的類別名稱. | BaseScrollPane | |||
類型: Class 語言版本: ActionScript 3.0 產品版本: Flash CS3 執行階段版本: Flash9.0.28.0, AIR 1.0 用來作為捲軸向上箭頭按鈕之外觀元素的類別名稱. | BaseScrollPane |
columns | 屬性 |
columns:Array
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定 DataGridColumn 物件的陣列,每一個物件都代表可以顯示的欄。 如果沒有明確設定,DataGrid 組件便會檢查資料提供者中的第一個項目、找出其屬性,然後依字母順序顯示這些屬性。
您可以對各欄以及它們在此 DataGridColumn 陣列中的順序進行變更。 不過,您必須在變更之後,將變更的陣列明確指定給 columns
屬性。 如果沒有明確指定,就會繼續使用之前使用的欄集合。
預設值為 []。
實作
public function get columns():Array
public function set columns(value:Array):void
範例 ( 如何使用本範例 )
columns
陣列,將新欄加入資料格:
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.data.DataProvider; var i:uint; var totalRows:uint = 16; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()}); } var dg:DataGrid = new DataGrid(); dg.setSize(200, 300); dg.columns = ["col1", "col2", "col3"]; dg.dataProvider = dp; addChild(dg); function getRandomNumber():uint { return Math.round(Math.random() * 100); }
columns
陣列和 getColumnCount()
方法填入新的 DataGrid 並傳回欄數:
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.data.DataProvider; var i:uint; var totalRows:uint = 16; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()}); } var dg:DataGrid = new DataGrid(); dg.setSize(200, 300); dg.columns = ["col1", "col2", "col3"]; dg.dataProvider = dp; addChild(dg); trace("columns.length:", dg.columns.length); // 3 trace("getColumnCount():", dg.getColumnCount()); // 3 function getRandomNumber():uint { return Math.round(Math.random() * 100); }
editable | 屬性 |
public var editable:Boolean = false
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會指出使用者是否可以編輯資料提供者內的項目。 值為 true
表示使用者可以編輯資料提供者內的項目;值為 false
則表示不可以。
如果這個值是 true
,則組件中的項目輸出器可編輯。 使用者可以按下某個項目輸出器以開啟編輯器。
您可以使用 DataGridColumn.editable
屬性,或處理 itemEditBeginning
和 itemEditBegin
事件,以關閉 DataGrid 組件之個別欄的編輯功能。
預設值為 false。
相關 API 元素
editedItemPosition | 屬性 |
editedItemPosition:Object
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會針對目前正在編輯的資料提供者項目,取得或設定其項目輸出器的欄與列索引。 如果目前沒有正在編輯的項目,此屬性即為 null
。
此物件有兩個欄位:
columnIndex
:目前項目的欄索引 (從零開始)rowIndex
:目前項目的列索引 (從零開始)
例如: { columnIndex:2, rowIndex:3 }
設定此屬性為捲動項目到檢視內,並傳送 itemEditBegin
事件,在指定之項目輸出器上開啟項目編輯器。
預設值為 null。
實作
public function get editedItemPosition():Object
public function set editedItemPosition(value:Object):void
相關 API 元素
範例 ( 如何使用本範例 )
import fl.data.DataProvider; import fl.controls.*; var dp:DataProvider = new DataProvider(); var totalEntries:uint = 42; var i:uint; for(i=0; i<totalEntries; i++) { dp.addItem( { col1:"CellName", col2:"CellName", col3:"CellName" } ); } var dg:DataGrid = new DataGrid(); dg.columns = [ "col1", "col2", "col3" ]; dg.editable = true; dg.dataProvider = dp; dg.move(200,10); dg.setSize(200,300); addChild(dg); var rowIntro:Label = new Label(); rowIntro.text = "Row to edit:"; rowIntro.move(10,10); var colIntro:Label = new Label(); colIntro.text = "Column to edit:"; colIntro.move(10,30); var rowInputField:TextInput = new TextInput(); rowInputField.move(100,10); rowInputField.setSize(30,20); var colInputField:TextInput = new TextInput(); colInputField.move(100,30); colInputField.setSize(30,20); var editButton:Button = new Button(); editButton.move(10,60); editButton.label = "Edit"; editButton.addEventListener(MouseEvent.CLICK,editGrid); addChild(rowIntro); addChild(colIntro); addChild(rowInputField); addChild(colInputField); addChild(editButton); function editGrid(e:MouseEvent):void { dg.editedItemPosition = { rowIndex:Number(rowInputField.text), columnIndex:Number(colInputField.text) }; }
editedItemRenderer | 屬性 |
editedItemRenderer:ICellRenderer
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得 DataGrid 組件內項目輸出器的參考,而此組件的項目目前正在編輯。 如果目前沒有正在編輯的項目,則此屬性會包含 null
值。
您可以從 itemEditBegin
事件或 itemEditEnd
事件的事件偵聽程式內部,使用 editedItemRenderer.data
屬性來取得正在編輯之項目的目前值。
這是唯讀的屬性。 若要設定自訂的項目編輯器,請使用代表相關欄之類別的 itemEditor
屬性。
實作
public function get editedItemRenderer():ICellRenderer
相關 API 元素
範例 ( 如何使用本範例 )
import fl.data.DataProvider; import fl.controls.*; var dp:DataProvider = new DataProvider(); var totalEntries:uint = 42; var i:uint; for(i=0; i<totalEntries; i++) { dp.addItem( { col1:"CellName", col2:"CellName", col3:"CellName" } ); } var dg:DataGrid = new DataGrid(); dg.columns = [ "col1", "col2", "col3" ]; dg.editable = true; dg.dataProvider = dp; dg.move(200,10); dg.setSize(200,300); addChild(dg); var rowIntro:Label = new Label(); rowIntro.text = "Row to edit:"; rowIntro.move(10,10); var colIntro:Label = new Label(); colIntro.text = "Column to edit:"; colIntro.move(10,30); var rowInputField:TextInput = new TextInput(); rowInputField.move(100,10); rowInputField.setSize(30,20); var colInputField:TextInput = new TextInput(); colInputField.move(100,30); colInputField.setSize(30,20); var editButton:Button = new Button(); editButton.move(10,60); editButton.label = "Edit"; editButton.addEventListener(MouseEvent.CLICK,editGrid); addChild(rowIntro); addChild(colIntro); addChild(rowInputField); addChild(colInputField); addChild(editButton); function editGrid(e:MouseEvent):void { dg.editedItemPosition = { rowIndex:Number(rowInputField.text), columnIndex:Number(colInputField.text) }; }
headerHeight | 屬性 |
headerHeight:Number
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定 DataGrid 標題的高度,以像素為單位。
預設值為 25。
實作
public function get headerHeight():Number
public function set headerHeight(value:Number):void
相關 API 元素
範例 ( 如何使用本範例 )
headerHeight
屬性:
import fl.controls.DataGrid; import fl.controls.Slider; import fl.events.SliderEvent; var headerHeightSlider:Slider = new Slider(); headerHeightSlider.minimum = 20; headerHeightSlider.maximum = 40; headerHeightSlider.snapInterval = 2; headerHeightSlider.tickInterval = 4; headerHeightSlider.liveDragging = true; headerHeightSlider.move(10, 10); headerHeightSlider.addEventListener(SliderEvent.CHANGE, changeHandler); addChild(headerHeightSlider); var myDataGrid:DataGrid = new DataGrid(); myDataGrid.headerHeight = headerHeightSlider.value; myDataGrid.addColumn("name"); myDataGrid.addColumn("value"); myDataGrid.addItem({name:"Person A", value:0.85}); myDataGrid.addItem({name:"Person B", value:0.87}); myDataGrid.width = 200; myDataGrid.rowCount = myDataGrid.length; myDataGrid.move(10, 30); addChild(myDataGrid); function changeHandler(event:SliderEvent):void { myDataGrid.headerHeight = event.value; myDataGrid.rowCount = myDataGrid.length; }
horizontalScrollPolicy | 屬性 |
horizontalScrollPolicy:String
[覆寫] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定 Boolean 值,指出是否永遠啟用水平捲軸。 下列清單說明有效值:
ScrollPolicy.ON
:永遠啟用捲軸。ScrollPolicy.OFF
:永遠關閉捲軸。ScrollPolicy.AUTO
:捲軸狀態會根據傳遞給setScrollBarProperties()
方法的參數產生變更。
注意:如果 DataGrid 組件中可見欄的合併寬度小於 DataGrid 組件的可用寬度,則這些欄可能不會展開到填滿 DataGrid 組件的可用空間,將視 horizontalScrollPolicy
屬性的值而定。 下列清單說明這些值及其效果:
ScrollPolicy.ON
:停用水平捲軸。 這些欄不會展開到填滿 DataGrid 組件的可用空間。ScrollPolicy.AUTO
:看不到水平捲軸。 這些欄不會展開到填滿 DataGrid 組件的可用空間。
預設值為 ScrollPolicy.OFF。
實作
override public function get horizontalScrollPolicy():String
override public function set horizontalScrollPolicy(value:String):void
相關 API 元素
範例 ( 如何使用本範例 )
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.data.DataProvider; var i:uint; var totalRows:uint = 42; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber(), col5:getRandomNumber(), col6:getRandomNumber(), col7:getRandomNumber()}); } var dg:DataGrid = new DataGrid(); dg.setSize(200,300); dg.addColumn("col1"); dg.addColumn("col2"); dg.addColumn("col3"); dg.addColumn("col4"); dg.addColumn("col5"); dg.addColumn("col6"); dg.addColumn("col7"); dg.dataProvider = dp; dg.horizontalScrollPolicy = ScrollPolicy.ON; addChild(dg); function getRandomNumber():uint { return Math.round(Math.random() * 100); }
imeMode | 屬性 |
imeMode:String
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定輸入法編輯器 (IME) 的模式。 IME 可讓使用者使用 QWERTY 鍵盤,輸入中文、日文及韓文字元集中的字元。
Flash 會在組件成為焦點時,將 IME 設定為指定的模式,並在組件失去焦點之後,再將其還原為原始值。
flash.system.IMEConversionMode 類別會定義常數,做為此屬性的有效值。 您可以將此屬性設定為 null
,以避免搭配組件使用 IME。
實作
public function get imeMode():String
public function set imeMode(value:String):void
相關 API 元素
itemEditorInstance | 屬性 |
public var itemEditorInstance:Object
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
目前作用中之項目編輯器實體的參考 (如果該實體存在)。
編輯項目時,若要存取項目編輯器實體和新項目值,請使用 itemEditorInstance
屬性。 itemEditorInstance
屬性要等到 itemEditBegin
事件的事件偵聽程式執行之後,才會是有效的屬性。 因此,itemEditorInstance
屬性通常是透過 itemEditEnd
事件的事件偵聽程式加以存取。
DataGridColumn.itemEditor
屬性會定義項目編輯器的類別,因此也定義項目編輯器實體的資料類型。
相關 API 元素
範例 ( 如何使用本範例 )
itemEditorInstance
屬性,以決定編輯後的儲存格文字:
import fl.data.DataProvider; import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridCellEditor; import fl.controls.listClasses.ListData; import fl.events.DataGridEvent; var dp:DataProvider = new DataProvider(); var totalEntries:uint = 42; var i:uint; for(i=0; i<totalEntries; i++) { dp.addItem( { col1:"CellName", col2:"CellName", col3:"CellName" } ); } var dg:DataGrid = new DataGrid(); dg.addEventListener(DataGridEvent.ITEM_EDIT_END,onItemEditEnd); dg.dataProvider = dp; dg.editable = true; dg.setSize(300,200); addChild(dg); function onItemEditEnd(e:DataGridEvent):void { var cellEditor:DataGridCellEditor = dg.itemEditorInstance as DataGridCellEditor; var listData:ListData = cellEditor.listData; trace("After Edit: " + cellEditor.text); }
labelFunction | 屬性 |
labelFunction:Function
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定函數,決定每個項目要以哪些欄位做為標籤文字。
預設值為 null。
實作
public function get labelFunction():Function
public function set labelFunction(value:Function):void
範例 ( 如何使用本範例 )
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; var i:uint; var totalRows:uint = 16; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()}); } var c1:DataGridColumn = new DataGridColumn("col1"); c1.sortOptions = Array.NUMERIC; var c2:DataGridColumn = new DataGridColumn("col2"); c2.sortOptions = Array.NUMERIC; var c3:DataGridColumn = new DataGridColumn("col3"); c3.sortOptions = Array.NUMERIC; var dg:DataGrid = new DataGrid(); dg.addColumn(c1); dg.addColumn(c2); dg.addColumn(c3); dg.dataProvider = dp; dg.labelFunction = currencyFormatter; dg.move(10, 10); dg.setSize(200, 300); addChild(dg); function getRandomNumber():Number { return Math.random() * 100; } function currencyFormatter(data:Object, column:DataGridColumn):String { return "$" + data[column.dataField].toFixed(2); }
minColumnWidth | 屬性 |
minColumnWidth:Number
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定 DataGrid 的最小欄寬,以像素為單位。 如果這個值設定為 NaN
,則可以為 DataGrid 組件的每一欄個別設定最小欄寬。
預設值為 NaN。
實作
public function get minColumnWidth():Number
public function set minColumnWidth(value:Number):void
範例 ( 如何使用本範例 )
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.data.DataProvider; var i:uint; var totalRows:uint = 42; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getString(), col2:getString(), col3:getString(), col4:getString(), col5:getString(), col6:getString(), col7:getString()}); } var dg:DataGrid = new DataGrid(); dg.setSize(450,300); dg.addColumn("col1"); dg.addColumn("col2"); dg.addColumn("col3"); dg.addColumn("col4"); dg.addColumn("col5"); dg.addColumn("col6"); dg.addColumn("col7"); dg.dataProvider = dp; dg.horizontalScrollPolicy = ScrollPolicy.ON; dg.minColumnWidth = 185; addChild(dg); function getString():String { return "This string requires a wide column"; }
resizableColumns | 屬性 |
public var resizableColumns:Boolean = true
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會指出使用者是否可以變更欄的大小。 值為 true
表示使用者可以變更欄的大小;值為 false
則表示欄的大小是固定的。
如果這個值是 true
,則使用者可以透過拖曳標題儲存格之間的格線,放大或縮小 DataGrid 組件的欄。 此外,如果這個值是 true
,使用者還可以調整這些欄的大小,除非個別欄的 resizeable
屬性設定為 false
。
預設值為 true。
相關 API 元素
範例 ( 如何使用本範例 )
resizableColumns
與 sortableColumns
設為 false
:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; var nameCol:DataGridColumn = new DataGridColumn("name"); nameCol.headerText = "NAME:"; nameCol.width = 120; var valueCol:DataGridColumn = new DataGridColumn("value"); valueCol.headerText = "VALUE:"; valueCol.width = 80; var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn(nameCol); myDataGrid.addColumn(valueCol); myDataGrid.addItem({name:"Name A", value:"Value A"}); myDataGrid.addItem({name:"Name B", value:"Value B"}); myDataGrid.addItem({name:"Name C", value:"Value C"}); myDataGrid.resizableColumns = false; myDataGrid.sortableColumns = false; myDataGrid.width = 200; myDataGrid.rowCount = myDataGrid.length; myDataGrid.move(10, 10); addChild(myDataGrid);
rowCount | 屬性 |
rowCount:uint
[覆寫] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定清單中至少可以看見部分的列數。
實作
override public function get rowCount():uint
override public function set rowCount(value:uint):void
相關 API 元素
範例 ( 如何使用本範例 )
rowCount
屬性重新調整資料格大小:
import fl.controls.DataGrid; import fl.data.DataProvider; 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.move(10, 10); myDataGrid.setSize(300, 200); addChild(myDataGrid); var fixedHeight:uint = Math.min(myDataGrid.rowCount, myDataGrid.length); myDataGrid.rowCount = fixedHeight; trace(myDataGrid.width, myDataGrid.height); // 300 105
rowHeight | 屬性 |
rowHeight:Number
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定 DataGrid 組件中每一列的高度,以像素為單位。
預設值為 20。
實作
public function get rowHeight():Number
public function set rowHeight(value:Number):void
相關 API 元素
範例 ( 如何使用本範例 )
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.managers.StyleManager; var dp:DataProvider = new DataProvider(); var totalEntries:uint = 42; var i:uint; for(i = 0; i < totalEntries; i++) { dp.addItem( { col1:Math.random(), col2:Math.random(), col3:Math.random() } ); } var smallText:TextFormat = new TextFormat(); smallText.size = 9; smallText.font = "Verdana"; var dg:DataGrid = new DataGrid(); dg.columns = ["col1", "col2", "col3"]; dg.rowHeight = 14; dg.move(10, 10); dg.setSize(400, 300); dg.dataProvider = dp; dg.setStyle("textFormat", smallText); addChild(dg); StyleManager.setStyle("textFormat", smallText);
showHeaders | 屬性 |
showHeaders:Boolean
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得或設定 Boolean 值,指出 DataGrid 組件是否顯示欄標題。 值為 true
表示 DataGrid 組件會顯示欄標題;值為 false
則表示不顯示。
預設值為 true。
實作
public function get showHeaders():Boolean
public function set showHeaders(value:Boolean):void
範例 ( 如何使用本範例 )
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.data.DataProvider; var i:uint; var totalRows:uint = 42; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:Math.random(), col2:Math.random()}); } var dg1:DataGrid = new DataGrid(); dg1.move(10,10); dg1.setSize(200,300); dg1.dataProvider = dp; addChild(dg1); var dg2:DataGrid = new DataGrid(); dg2.move(250,10); dg2.setSize(200,300); dg2.dataProvider = dp; dg2.showHeaders = false; addChild(dg2);
sortableColumns | 屬性 |
public var sortableColumns:Boolean = true
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會指出使用者是否可以透過按一下欄標題儲存格的方式,排序資料提供者中的項目。 如果這個值是 true
,使用者按一下欄標題儲存格即可排序資料提供者項目;如果這個值是 false
,則使用者無法這麼做。
如果這個值是 true
,為了避免個別欄在使用者以滑鼠按一下標題儲存格時產生回應,請將該欄的 sortable
屬性設定為 false
。
一欄的排序欄位會是 DataGridColumn 組件的 dataField
或 sortCompareFunction
屬性。 如果使用者按一下某一欄超過一次,則排序作業會交替切換為遞增和遞減順序。
如果此屬性與某一欄的 sortable
屬性都設定為 true
,則 DataGrid 組件會在使用者放開欄標題儲存格上的滑鼠按鈕之後,傳送 headerRelease
事件。 如果不是透過 headerRelease
事件的處理常式方法呼叫 preventDefault()
方法,則 DataGrid 組件會根據 dataField
或 sortCompareFunction
屬性的值執行排序。
預設值為 true。
相關 API 元素
範例 ( 如何使用本範例 )
sortableColumns
屬性為 false
,以避免使用者可排序清單:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.events.DataGridEvent; var data:XML = <dataProvider> <data col1="Person A" col2="11.383" /> <data col1="Person B" col2="3.399" /> <data col1="Person C" col2="25.624" /> </dataProvider> var dp:DataProvider = new DataProvider(data); var c1:DataGridColumn = new DataGridColumn("col1"); var c2:DataGridColumn = new DataGridColumn("col2"); var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn(c1); myDataGrid.addColumn(c2); myDataGrid.dataProvider = dp; myDataGrid.move(10, 10); myDataGrid.setSize(160, 120); myDataGrid.sortableColumns = false; addChild(myDataGrid);
sortDescending | 屬性 |
sortDescending:Boolean
[唯讀] 語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會取得當使用者按一下某一欄的標題時,排序該欄所依照的順序。 值為 true
表示依遞減順序排序該欄;值為 false
則表示依遞增順序排序該欄。
sortDescending
屬性不影響排序方法完成排序作業的方式。 根據預設,排序作業包含區分大小寫的字串排序。 若要變更此行為,請修改 DataGridColumn 類別的 sortOptions
和 sortCompareFunction
屬性。
注意:如果您從 headerRelease
事件的事件偵聽程式查詢這個屬性,則屬性值會指出上一次排序作業的排序順序。 這是因為下一次排序尚未發生。
預設值為 false。
實作
public function get sortDescending():Boolean
相關 API 元素
範例 ( 如何使用本範例 )
headerRelease
,並追蹤 sortDescending
、sortIndex
和 dataField
屬性:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; import fl.events.DataGridEvent; var dataXML:XML = <dataProvider> <data col1="Person A" col2="11.383" /> <data col1="Person B" col2="3.399" /> <data col1="Person C" col2="25.624" /> </dataProvider> var dp:DataProvider = new DataProvider(dataXML); var c1:DataGridColumn = new DataGridColumn("col1"); var c2:DataGridColumn = new DataGridColumn("col2"); c2.sortOptions = Array.NUMERIC; var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn(c1); myDataGrid.addColumn(c2); myDataGrid.dataProvider = dp; myDataGrid.width = 160; myDataGrid.rowCount = myDataGrid.length; myDataGrid.move(10, 10); myDataGrid.addEventListener(DataGridEvent.HEADER_RELEASE, headerReleaseHandler); addChild(myDataGrid); function headerReleaseHandler(event:DataGridEvent):void { var myDG:DataGrid = event.currentTarget as DataGrid; var whichColumn:DataGridColumn = myDG.getColumnAt(event.columnIndex); trace("sortDescending:", myDG.sortDescending); trace("sortIndex:", myDG.sortIndex); trace("dataField:", whichColumn.dataField); trace(""); }
sortIndex | 屬性 |
DataGrid | () | 建構函式 |
public function DataGrid()
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
建立新的 DataGrid 組件實體。
addColumn | () | 方法 |
public function addColumn(column:*):DataGridColumn
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
在 columns
陣列的結尾增加一欄。
參數
column:* — String 或 DataGridColumn 物件。
|
DataGridColumn — 已加入的 DataGridColumn 物件。
|
相關 API 元素
範例 ( 如何使用本範例 )
addColumn()
方法新增兩個欄位:
import fl.controls.DataGrid; var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn("name"); myDataGrid.addColumn("value"); myDataGrid.addItem({name:"Name 1", value:"Value 1"}); myDataGrid.addItem({name:"Name 2", value:"Value 2"}); myDataGrid.addItem({name:"Name 3", value:"Value 3"}); myDataGrid.width = 200; myDataGrid.rowCount = myDataGrid.length; myDataGrid.move(10, 10); addChild(myDataGrid);
addColumn()
方法新增兩個欄位:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; var nameCol:DataGridColumn = new DataGridColumn("name"); var valueCol:DataGridColumn = new DataGridColumn("value"); var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn(nameCol); myDataGrid.addColumn(valueCol); myDataGrid.addItem({name:"Name 1", value:"Value 1"}); myDataGrid.addItem({name:"Name 2", value:"Value 2"}); myDataGrid.addItem({name:"Name 3", value:"Value 3"}); myDataGrid.width = 200; myDataGrid.rowCount = myDataGrid.length; myDataGrid.move(10, 10); addChild(myDataGrid);
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; var dp:DataProvider = new DataProvider(); dp.addItem( { stateName:"California", stateAbbreviation:"CA" } ); dp.addItem( { stateName:"New York", stateAbbreviation:"NY" } ); var dg:DataGrid = new DataGrid(); var abbreviationColumn:DataGridColumn = dg.addColumn(new DataGridColumn("stateAbbreviation")); var nameColumn:DataGridColumn = dg.addColumn("stateName"); abbreviationColumn.width = 100; nameColumn.width = 200; dg.move(10,10); dg.width = 300; dg.rowCount = 2; dg.dataProvider = dp; addChild(dg);
addColumnAt | () | 方法 |
public function addColumnAt(column:*, index:uint):DataGridColumn
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
在 columns
陣列內指定的索引位置插入一欄。
參數
column:* — 代表要插入之那一欄的字串或 DataGridColumn 物件。
| |
index:uint — 陣列索引,會識別欄要插入的位置。
|
DataGridColumn — 已插入至 columns 陣列的 DataGridColumn 物件。
|
相關 API 元素
範例 ( 如何使用本範例 )
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.data.DataProvider; var dp:DataProvider = new DataProvider(); dp.addItem( { stateName:"California", stateAbbreviation:"CA" } ); dp.addItem( { stateName:"New York", stateAbbreviation:"NY" } ); var dg:DataGrid = new DataGrid(); var abbreviationColumn:DataGridColumn = dg.addColumn(new DataGridColumn("stateAbbreviation")); var nameColumn:DataGridColumn = dg.addColumn("stateName"); abbreviationColumn.width = 100; nameColumn.width = 200; dg.move(10,10); dg.width = 300; dg.rowCount = 2; dg.dataProvider = dp; addChild(dg);
createItemEditor | () | 方法 |
public function createItemEditor(colIndex:uint, rowIndex:uint):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會使用 itemEditor
屬性指定的編輯器,為位於 editedItemPosition
屬性所辨識之欄與列索引位置的項目輸出器建立項目編輯器。
此方法會將編輯器實體設定為 itemEditorInstance
屬性。
您可以透過 itemEditBegin
事件的事件偵聽程式呼叫此方法。 若要透過其他程式碼建立編輯器,請設定 editedItemPosition
屬性以產生 itemEditBegin
事件。
參數
colIndex:uint — 要在資料提供者內編輯之項目的欄索引。
| |
rowIndex:uint — 要在資料提供者內編輯之項目的列索引。
|
destroyItemEditor | () | 方法 |
public function destroyItemEditor():void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會關閉項目輸出器上目前開啟的項目編輯器。 此方法通常是在呼叫 preventDefault()
方法以避免執行預設事件偵聽程式之後,透過 itemEditEnd
事件的事件偵聽程式來呼叫。
editField | () | 方法 |
public function editField(index:uint, dataField:String, data:Object):void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會編輯 DataGrid 組件中的指定欄位或屬性。
參數
index:uint — 要編輯之資料提供者項目的索引。
| |
dataField:String — 要編輯之資料提供者項目內的欄位或屬性名稱。
| |
data:Object — 新的資料值。
|
擲回值
RangeError — 指定的索引小於 0,或者大於或等於資料提供者的長度。
|
getCellRendererAt | () | 方法 |
public function getCellRendererAt(row:uint, column:uint):ICellRenderer
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
取得在 DataGrid 中指定位置的儲存格輸出器實體。
注意:對於看不見的位置 (例如,捲動出檢視外),此方法會傳回 null
。
參數
row:uint — 列索引。
| |
column:uint — 欄索引。
|
ICellRenderer — 若該位置沒有儲存格輸出器,則 ICellRenderer 物件將位於特定位置或為 null 。
|
getColumnAt | () | 方法 |
public function getColumnAt(index:uint):DataGridColumn
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會擷取位於 columns
陣列之指定索引位置的欄。
參數
index:uint — 要擷取的欄索引。如果找不到該欄,則為 null 。
|
DataGridColumn — 已在指定索引位置找到的 DataGridColumn 物件。
|
相關 API 元素
getColumnCount | () | 方法 |
public function getColumnCount():uint
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會擷取 DataGrid 組件中的欄數。
傳回值uint — DataGrid 組件包含的欄數。
|
相關 API 元素
範例 ( 如何使用本範例 )
columns
陣列和 getColumnCount()
方法填入新的 DataGrid 並傳回欄數:
import fl.controls.DataGrid; import fl.controls.ScrollPolicy; import fl.data.DataProvider; var i:uint; var totalRows:uint = 16; var dp:DataProvider = new DataProvider(); for (i = 0; i < totalRows; i++) { dp.addItem({col1:getRandomNumber(), col2:getRandomNumber(), col3:getRandomNumber(), col4:getRandomNumber()}); } var dg:DataGrid = new DataGrid(); dg.setSize(200, 300); dg.columns = ["col1", "col2", "col3"]; dg.dataProvider = dp; addChild(dg); trace("columns.length:", dg.columns.length); // 3 trace("getColumnCount():", dg.getColumnCount()); // 3 function getRandomNumber():uint { return Math.round(Math.random() * 100); }
columnStretch
事件時追蹤每個資料格欄的寬度:
import fl.controls.DataGrid; import fl.controls.dataGridClasses.DataGridColumn; import fl.events.DataGridEvent; var nameCol:DataGridColumn = new DataGridColumn("name"); var valueCol:DataGridColumn = new DataGridColumn("value"); var myDataGrid:DataGrid = new DataGrid(); myDataGrid.addColumn(nameCol); myDataGrid.addColumn(valueCol); myDataGrid.addItem({name:"Name 1", value:"Value 1"}); myDataGrid.addItem({name:"Name 2", value:"Value 2"}); myDataGrid.addItem({name:"Name 3", value:"Value 3"}); myDataGrid.width = 200; myDataGrid.rowCount = myDataGrid.length; myDataGrid.move(10, 10); myDataGrid.addEventListener(DataGridEvent.COLUMN_STRETCH, columnStretchHandler); addChild(myDataGrid); function columnStretchHandler(event:DataGridEvent):void { var col:DataGridColumn; for each (col in myDataGrid.columns) { trace(col.dataField + ":", col.width + "px") } trace(""); }
getColumnIndex | () | 方法 |
getStyleDefinition | () | 方法 |
public static function getStyleDefinition():Object
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會擷取目前組件的預設樣式對應。 視組件使用的樣式而定,樣式對應會包含適用於組件的類型。 例如,disabledTextFormat
樣式會包含 null
值或 TextFormat 物件。 您可以使用這些樣式,並針對目前的組件呼叫 setStyle()
。 下列程式碼會覆寫指定組件上預設的 disabledTextFormat
樣式:
componentInstance.setStyle("disabledTextFormat", new TextFormat());
Object — 預設的樣式物件。
|
相關 API 元素
範例 ( 如何使用本範例 )
import fl.controls.*; import fl.containers.*; import fl.controls.listClasses.*; import fl.controls.dataGridClasses.*; import fl.controls.progressBarClasses.*; import fl.core.UIComponent; import fl.data.DataProvider; var dp:DataProvider = new DataProvider(); dp.addItem( { label: "BaseScrollPane", data:BaseScrollPane } ); dp.addItem( { label: "Button", data:Button } ); dp.addItem( { label: "CellRenderer", data:CellRenderer } ); dp.addItem( { label: "CheckBox", data:CheckBox } ); dp.addItem( { label: "ColorPicker", data:ColorPicker } ); dp.addItem( { label: "ComboBox", data:ComboBox } ); dp.addItem( { label: "DataGrid", data:DataGrid } ); dp.addItem( { label: "HeaderRenderer", data:HeaderRenderer } ); dp.addItem( { label: "ImageCell", data:ImageCell } ); dp.addItem( { label: "IndeterminateBar",data:IndeterminateBar } ); dp.addItem( { label: "Label", data:Label } ); dp.addItem( { label: "List", data:List } ); dp.addItem( { label: "NumericStepper", data:NumericStepper } ); dp.addItem( { label: "ProgressBar", data:ProgressBar } ); dp.addItem( { label: "RadioButton", data:RadioButton } ); dp.addItem( { label: "ScrollPane", data:ScrollPane } ); dp.addItem( { label: "Slider", data:Slider } ); dp.addItem( { label: "TextArea", data:TextArea } ); dp.addItem( { label: "TextInput", data:TextInput } ); dp.addItem( { label: "TileList", data:TileList } ); dp.addItem( { label: "UILoader", data:UILoader } ); dp.addItem( { label: "UIComponent", data:UIComponent } ); var cb:ComboBox = new ComboBox(); cb.move(10,10); cb.setSize(300,25); cb.prompt = "Select a component to view its styles"; cb.rowCount = 12; cb.dataProvider = dp; cb.addEventListener(Event.CHANGE, showStyleDefinition); addChild(cb); var dg:DataGrid = new DataGrid(); dg.setSize(425,300); dg.move(10,50); dg.columns = [ new DataGridColumn("StyleName"), new DataGridColumn("DefaultValue") ]; addChild(dg); function showStyleDefinition(e:Event):void { var componentClass:Class = e.target.selectedItem.data as Class; var styles:Object = componentClass["getStyleDefinition"].call(this); trace(styles.toString()); var styleData:DataProvider = new DataProvider(); for(var i:* in styles) { trace(i + " : " + styles[i]); styleData.addItem( { StyleName:i, DefaultValue:styles[i] } ); } styleData.sortOn("StyleName"); dg.dataProvider = styleData; }
itemToCellRenderer | () | 方法 |
override public function itemToCellRenderer(item:Object):ICellRenderer
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
DataGrid 組件擁有用於任何指定項目的多個儲存格,因此 itemToCellRenderer
方法永遠會傳回 null
。
參數
item:Object — 資料提供者中的項目。
|
ICellRenderer — null 。
|
removeAllColumns | () | 方法 |
public function removeAllColumns():void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會從 DataGrid 組件移除所有的欄。
相關 API 元素
removeColumnAt | () | 方法 |
public function removeColumnAt(index:uint):DataGridColumn
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會移除位於 columns
陣列之指定索引位置的欄。
參數
index:uint — 要移除的欄索引。
|
DataGridColumn — 已移除的 DataGridColumn 物件。 如果在指定的索引上找不到某一欄,此方法會傳回 null 。
|
相關 API 元素
scrollToIndex | () | 方法 |
spaceColumnsEqually | () | 方法 |
public function spaceColumnsEqually():void
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
會將可見欄重設為相同寬度。
columnStretch | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.COLUMN_STRETCH
語言版本: | 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("----------"); }
headerRelease | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.HEADER_RELEASE
語言版本: | 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("----------"); }
itemEditBegin | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.ITEM_EDIT_BEGIN
語言版本: | ActionScript 3.0 |
產品版本: | Flash CS3 |
執行階段版本: | Flash Player 9.0.28.0, AIR 1.0 |
在設定 editedItemPosition
屬性之後,而且可以編輯該項目時傳送。
DataGridEvent.ITEM_EDIT_BEGIN
常數會定義 itemEditBegin
事件物件的 type
屬性值。
這個事件具有下列屬性:
屬性 | 值 |
---|---|
bubbles | false |
cancelable | false ;沒有要取消的預設行為指令。 |
columnIndex | 在 DataGrid 物件之 columns 陣列中的標題欄索引 (從零開始)。 |
currentTarget | 正主動使用事件偵聽程式處理 Event 物件的物件。 |
dataField | null |
itemRenderer | 要編輯之項目的項目輸出器。 |
reason | null |
rowIndex | 資料提供者中的項目索引 (從零開始)。 |
target | 已經傳送該事件的物件。 此目標不一定是偵聽該事件的物件。 您可以使用 currentTarget 屬性,存取目前正在偵聽該事件的物件。 |
相關 API 元素
itemEditBeginning | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.ITEM_EDIT_BEGINNING
語言版本: | 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 元素
itemEditEnd | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.ITEM_EDIT_END
語言版本: | 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 元素
itemFocusIn | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.ITEM_FOCUS_IN
語言版本: | 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 元素
itemFocusOut | 事件 |
fl.events.DataGridEvent
屬性 DataGridEvent.type =
fl.events.DataGridEvent.ITEM_FOCUS_OUT
語言版本: | 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 組件加入元件庫。
- 將這個程式碼儲存成 DataGridExample.as,並與您的 FLA 存放在相同的目錄中。
- 將 FLA 中的 DocumentClass 設定為 DataGridExample。
package { import flash.display.Sprite; import flash.events.Event; import flash.text.TextField; import fl.controls.DataGrid; public class DataGridExample extends Sprite { var sampleItem1:Object = { Name:"John Alpha", Number:"555-123-0101", Email:"jalpha@fictitious.com" }; var sampleItem2:Object = { Name:"Mary Bravo", Number:"555-372-3322", Email:"mbravo@fictitious.com" }; var sampleItem3:Object = { Name:"Trevor Gamma", Number:"555-485-1212", Email:"tgamma@fictitious.com" }; var sampleItem4:Object = { Name:"Susan Delta", Number:"555-987-3434", Email:"sdelta@fictitious.com" }; var dg:DataGrid; var tf1:TextField; var tf2:TextField; var tf3:TextField; public function DataGridExample() { createDataGrid(); createTextFields(); } private function createDataGrid():void { dg = new DataGrid(); dg.move(10,10); dg.setSize(500,125); dg.columns = ["Name","Number","Email"]; dg.addItem(sampleItem1); dg.addItem(sampleItem2); dg.addItem(sampleItem3); dg.addItem(sampleItem4); dg.addEventListener("change",gridItemSelected); dg.minColumnWidth = dg.width / 3; addChild(dg); } private function createTextFields():void { tf1 = new TextField(); tf2 = new TextField(); tf3 = new TextField(); tf1.x = tf2.x = tf3.x = 10; tf1.autoSize = tf2.autoSize = tf3.autoSize = "left"; tf1.y = 150; tf2.y = 175; tf3.y = 200; addChild(tf1); addChild(tf2); addChild(tf3); } private function gridItemSelected(e:Event):void { tf1.text = "Name: " + e.target.selectedItem.Name; tf2.text = "Number: " + e.target.selectedItem.Number; tf3.text = "Email: " + e.target.selectedItem.Email; } } }
Tue Jun 12 2018, 03:47 PM Z