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


  1.给datagrid动态添加列
  如datagrid的id为dg1,以下代码为其添加列  var col ataGridColumn = new DataGridColumn(); col.headerText = colhedertext.text; dg1.columns = dg1.columns.concat(col); 2.as中设置itemrender以datagrid为例
  a.首先生成渲染器,如  flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" focusEnabled="true"> 。。。。。。。。。。   其类名为: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添加信息后滚动到最后行,如聊天应用中显示聊天内容
  如:  testArea.htmlText+="\n45665454546456\n\nsdfsdfsdfs dsdff"; testArea.validateNow(); testArea.verticalScrollPosition=t.maxVerticalScrol lPosition; 注意validateNow()和verticalScrollPosition的顺序
  4.enterframe事件
  搞了这么久才知道何为enterframe事件, 真是不应该啊
  api说明引用:播放头进入新帧时调度。 如果播放头不移动,或者只有一帧,则会继续以帧频调度此事件。 系统会对所有侦听此事件的显示对象同时调度此事件。
  只有一桢的情况下可代替timer使用。。。。。。以帧频调度此事件
  5.匿名方法移除自身的侦听方法
  evt.target.removeEventListener(eventtype, arguments.callee);  

猜你喜欢

转载自jbxsr87r.iteye.com/blog/1572923