![]() |
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隐藏了,那么嵌在里面的输入控件也全部隐藏。
|