flex笔记-随时更新........

1.给datagrid动态添加列

如datagrid的id为dg1,以下代码为其添加列

var col :DataGridColumn = new DataGridColumn(); col.headerText = colhedertext.text; dg1.columns = dg1.columns.concat(col);

2.as中设置itemrender以datagrid为例

a.首先生成渲染器,如

<?xml version="1.0" encoding="utf-8"?> <s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" focusEnabled="true"> 。。。。。。。。。。 </s:MXDataGridItemRenderer>

其类名为:XXRender

b.实现工厂类接口mx.core.IFactory,如

import mx.core.IFactory; public class XXXItemRender implements IFactory { public function VideoItemRender() { } public function newInstance():* { return new XXRender(); } }

实现它的newInstance方法 返回所需ItemRender,在构造此渲染器时会调用newInstance()方法,可在构造函数中传递参数,newInstance中根据参数返回不同的渲染器类型,如

public function ItemRenderFactory(type : String) { this.type = type; } public function newInstance() : * { if (type == "button") { var bt : Button=new Button(); bt.label="test"; return bt; } }

生成button渲染器列.itemRenderer = new XXXItemRender('button');

c.设置itemreder

列.itemRenderer = new XXXItemRender();

3.textArea添加信息后滚动到最后行,如聊天应用中显示聊天内容

v 如:

testArea.htmlText+="/n45665454546456/n/nsdfsdfsdfsdsdff"; testArea.validateNow(); testArea.verticalScrollPosition=t.maxVerticalScrollPosition;

注意validateNow()和verticalScrollPosition的顺序

4.enterframe事件

搞了这么久才知道何为enterframe事件 , 真是不应该啊

api说明引用:播放头进入新帧时调度。 如果播放头不移动,或者只有一帧,则会继续以帧频调度此事件。 系统会对所有侦听此事件的显示对象同时调度此事件。

只有一桢的情况下可代替timer使用。。。。。。以帧频调度此事件

5.匿名方法移除自身的侦听方法

 evt.target.removeEventListener(eventtype, arguments.callee);  

你可能感兴趣的:(flex笔记-随时更新........)