![]() |
1.采用了 “3.各种下拉” 中的Freeform,外观稍作了修改:动态增加了2个“收拢”的按钮,能触发收拢、展开的事件; 2.点击按钮,事件中执行了显示/隐藏 TableLayout; |
![]() |
1.可查看创建该Freeform的XML描述文件,里面有2个TableLayout, 但外观作了改动,例如增加了2个按钮:function OnReady(id) { AF.func("Build", "treelist/freeform3.xml"); AF.func("SetObjProp", "group1 \r\n titleOffset \r\n 96"); AF.func("SetObjProp", "group2 \r\n titleOffset \r\n 96"); AF.func("SetObjProp", "group1 \r\n text \r\n 基本信息"); AF.func("SetObjProp", "group2 \r\n text \r\n 货运信息"); AF.func("SetObjProp", "group1 \r\n titleHeight \r\n 20"); AF.func("SetObjProp", "group2 \r\n titleHeight \r\n 20"); AF.func("SetObjProp", "group2 \r\n round \r\n 12"); AF.func("AddObject", "input \r\n id=btn1; type=button; text=收拢; x=group1.x + 10; y=group1.y -1; height=26; width=70; style=flat,transparent; icon=treelist/pm.zip#minus.ico; at=left"); AF.func("AddObject", "input \r\n id=btn2; type=button; text=收拢; x=group2.x + 10; y=group2.y -1; height=26; width=70; style=flat,transparent; icon=treelist/pm.zip#minus.ico; at=left"); } 2.按钮的点击事件的全部js源码如下: var closed1=false, closed2=false; function OnEvent(id, Event, p1, p2, p3, p4) { if(Event != "ButtonClicked") return; if(p1 == "btn1") closed1 = !closed1; else if(p1 == "btn2") closed2 = !closed2; if(closed1) { AF.func("SetObjProp", "btn1 \r\n text \r\n 展开"); AF.func("SetObjProp", "btn1 \r\n img \r\n treelist/pm.zip#plus.ico"); AF.func("SetObjProp", "layout1 \r\n visible \r\n false"); //layout AF.func("SetObjProp", "group1 \r\n height \r\n 28"); } else { AF.func("SetObjProp", "btn1 \r\n text \r\n 收拢"); AF.func("SetObjProp", "btn1 \r\n img \r\n treelist/pm.zip#minus.ico"); AF.func("SetObjProp", "group1 \r\n height \r\n 170"); AF.func("SetObjProp", "layout1 \r\n visible \r\n true"); //layout } if(closed2) { AF.func("SetObjProp", "btn2 \r\n text \r\n 展开"); AF.func("SetObjProp", "btn2 \r\n img \r\n treelist/pm.zip#plus.ico"); AF.func("SetObjProp", "layout2 \r\n visible \r\n false"); //layout AF.func("SetObjProp", "group2 \r\n height \r\n 28"); } else { AF.func("SetObjProp", "btn2 \r\n text \r\n 收拢"); AF.func("SetObjProp", "btn2 \r\n img \r\n treelist/pm.zip#minus.ico"); AF.func("SetObjProp", "group2 \r\n height \r\n 160"); AF.func("SetObjProp", "layout2 \r\n visible \r\n true"); //layout } }可见,如果TableLayout隐藏了,那么嵌在里面的输入控件也全部隐藏。 |