超級強大的DataGrid組件
DataGrid 組件允許用戶顯示和操作多列數據。
當 DataGrid 實例從單擊或 Tab 鍵切換中獲得焦點時,您可以使用以下按鍵來控制它:
以下示例演示數據網格的屬性。
從"庫"面板中拖動相關組件到舞臺(或直接通過 ActionScript 代碼創建組件實例),并對實例命名。
在主時間軸中選擇第一幀,打開"動作"面板,然后輸入以下代碼:
my_dg.setColumnNames(["id","name","score"]); my_dg.addItem
({id:0,name
:"Clark",score:3135}); my_dg.addItem
({id:1,name
:"Bruce",score:403}); my_dg.addItem
({id:2,name
:"Peter",score:25});![]()
通過設置 CellRenderer 創建類似 List 的 DataGrid。
首先,創建數據網格的行渲染器 DataGridRowRenderer 類(繼承于 ListCellRenderer)。
package
{import
flash
.text
.TextField
;import
shinater.swing.DataGrid
;public
class
DataGridRowRendererextends
ListCellRenderer {public
override
function
setSize(width
:Number
,height
:Number
):void
{_width
=width
;_height
=height
; repaint(); }public
override
function
repaint():void
{var
dataGrid:DataGrid
=DataGrid
(getOwner());var
x
:Number
=textField
.x
;for
(var
i:int
= 0,columnCount
:uint
= dataGrid.getColumnCount
(); i<columnCount
; i++) {var
txt:TextField
;if
(i == 0) { txt =textField
; }else
{var
n:String
= "textField" + i; txt =getChildByName
(n)as
TextField
;if
(txt ==null
) { txt =new
TextField
(); txt.name
= n;addChild
(txt); } txt.defaultTextFormat
=textField
.defaultTextFormat
; txt.x
=x
; txt.y
=textField
.y
; txt.height
=textField
.height
; } txt.text
= getData()[dataGrid.getColumnName(i)]; txt.width
= dataGrid.getColumnWidth(i);x
+= txt.width
; }skin
.width
=_width
;skin
.height
=_height
;if
(focusRectSkin !=null
) { focusRectSkin.width
=_width
; focusRectSkin.height
=_height
; } } } }同上例,在主時間軸中選擇第一幀,打開"動作"面板,然后輸入以下代碼:
my_dg.setCellRenderer(DataGridRowRenderer); my_dg.setColumnNames(["id","name","score"]); my_dg.addItem
({id:0,name
:"Clark",score:3135}); my_dg.addItem
({id:1,name
:"Bruce",score:403}); my_dg.addItem
({id:2,name
:"Peter",score:25});
參考資料來源于:http://www.shinater.com/FlashSwing/Help/DataGrid.html
本文由用戶 Eugene 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!