子容器的动态生成与销毁
来源:互联网 发布:ww123btbtcom最新域名 编辑:程序博客网 时间:2024/05/22 16:52
Flex引入子容器有两种方式
1.通过MXML可视化标签,如
<ng:EmpSuggestion id="topManagerInput" text="{(globalTenantEntityBean.topManagers)[0].notesId}" />
2.在actionscript中添加,如
var emp1:EmpSuggestion = new EmpSuggestion();
emp1.name="emp1";
hbox1.addChild(emp1);
显然,第一种方式只是静态的容器,第二种才满足动态的添加。
本文便是基于第二种方式讨论子容器的动态添加与销毁,并如何赋予并获得子容器中的数据。例如我们要实现动态的添加输入框,同时给输入框赋值。生成后我们也能删除指定的子容器,最后把子容器中的值取出来。
第一步,引入一静态容器
<mx:VBox id="tenantAdmin">
</mx:VBox>
第二步,然后actionscript中动态添加,同时考虑到删除,所以子容器是HBox再嵌套textInput和delete的action(可以使按钮或图标),通过给按钮或图标加监控来实现特定hBox的删除。并给Child起个名字方便以后读数据时“认人”
var hbox1:HBox = new HBox();
hbox1.setStyle("verticalAlign","middle");
var img1:Image = new Image();
img1.source = deleteIcon;
img1.buttonMode = true;
img1.addEventListener(MouseEvent.CLICK,cancelFunction1)
var emp1:EmpSuggestion = new EmpSuggestion();
emp1.name="emp1";//起名字
hbox1.addChild(emp1);
hbox1.addChild(img1);//添加子容器
tenantAdmin.addChild(hbox1);
生成时可以通过按钮一个个触发,也可以通过数组循环来生成
上面代码中cancelFunction1就是实现删除,删除用的是removeChild方法,参数的生成:先选中对象event.currentTarget指的是click的那个按钮或Image,(event.currentTarget).parent是这个按钮的父容器,转化为HBox类。
public function cancelFunction1(event:MouseEvent):void
{
tenantAdmin.removeChild(HBox((event.currentTarget).parent));
}
第三步,读取子容器中的数据,用getChildren()返回一个子容器的数组,我一开始取不到数据犯的错误就是for each(var hbox:HBox in topManager),后来trace的时候发现topManager里是没有子容器的,必须调用getChildren()方法取得子容器,再用getChildByName通过名字来取.
for each(var hbox:HBox in topManager.getChildren())
{
var ep:EmployeeVBean = new EmployeeVBean();
ep.empNotesId = (hbox.getChildByName("emp1")as EmpSuggestion).text;
arr.addItem(ep);
}
这样就取得了子容器里的内容了
- 子容器的动态生成与销毁
- 《游戏编程入门》源代码子画面销毁bug与vector容器vector::erase的问题
- 动态生成和销毁物体
- C++基础教程(一) C++基础/对象的生成与销毁
- 栈中数据的动态存储与销毁
- Android 动态布局 动态生成 销毁控件 改变控件的位置等
- WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
- WPF: WrapPanel 容器的数据绑定(动态生成控件、遍历)
- 动态生成表单与调用动态生成的控件
- 动态二维数组的创建及指针的传递与销毁
- 对象的创建与销毁
- 指针的调用与销毁
- session的创建与销毁
- cookie的设置与销毁
- Bean的初始化与销毁
- 对象的创建与销毁
- 单链表的排序与销毁
- Window 生成到销毁的消息
- Gdb 调试Segmantation Fault的方法
- SQL 基础--> ROLLUP与CUBE运算符实现数据汇总
- 创建和删除进程的地址空间
- js版本的pdf编辑器
- 较全面的主流浏览器CSS BUG兼容汇总
- 子容器的动态生成与销毁
- 垃圾回收器的工作原理是什么?垃圾回收器可以马上回收内存吗?有什么办法通知虚拟机进行垃圾回收?
- 基于VMware环境Linux服务器集群方案--LVS+Keepalived (1)
- asdfasdf
- Qt基础知识和编写
- 地图入门(一):Android上使用Google Maps加标注的最最简单的例子
- 不错的学习XNA shader的网址
- 内联函数1
- shell script 程序设计