`
dujunxiaochuan
  • 浏览: 33600 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

smartclient——DynamicForm

阅读更多

例:
DynamicForm.create({
ID:"demoForm",
numCols:4,
autoDraw:true,
cellPadding:5,
items:[
{title:"ID",name:"ID",showIf:"false"},
{title:"姓名",name:"uName"},
{title:"电话",name:uPhone"",ID:"uPhone"}
]
});


在DynamicForm中,items等同于fields,即以上代码等同于
DynamicForm.create({
ID:"demoForm",
numCols:6,
autoDraw:true,
cellPadding:5,
fields:[
{title:"ID",name:"ID",showIf:"false"},
{title:"姓名",name:"uName"},
{title:"电话",name:uPhone"",ID:"uPhone",colSpan:4}
]
});


DynamicForm默认列数为2即numCols:2,类似于table,每个tr有两个td,而form内的每一个item或field则默认为
占据一行两列(colSpan:2),即title一列,value一列。
例子中代码:numCols:6,即意为每行6列,也就是每行默认放置3个item(表单元素)。
autoDraw:true,意为自动渲染。当此Form为其他容器的子项时,一般设为false。
cellPadding:5,用来调表单元素之间的距离。
在代码{title:"ID",name:"ID",showIf:"false"}中,showIf用来控制Form内元素的隐藏,若不写showIf:"false"
当然是默认为显示了。
那么在{title:"电话",name:uPhone"",ID:"uPhone",colSpan:4}中,colSpan:4是用来做什么的呢?聪明的你一定一眼
就看明白了,对了,是用来合并列的,colSpan:4意味这uPhone这个元素要占据4列。
同样有合并列,就有合并行,合并行是rowSpan。


那么,我们如何取得Form表单内各元素的值呢?有三种方法:
1. 我们可以通过元素的ID来获取它们的值,例如:uPhone.getValue();
2.通过元素的名字来获取它们的值,例如:var uphone=demoForm.getValue("uPhone");
3.第三种与第二种类似,var uphone=demoForm.getItem("uPhone").getValue();
会取值之后,赋值也就会了吧。同样是三种方法:
uPhone.setValue("1384387438");
demoForm.setValue("uPhone","1384387438");
demoForm.getItem("uPhone").setValue("1384387438");

分享到:
评论
1 楼 primer_of_java 2015-01-16  
1. 我们可以通过元素的ID来获取它们的值,例如:uPhone.getValue();
2.通过元素的名字来获取它们的值,例如:var uphone=demoForm.getValue("uPhone");



这里特别指出下,其实是底层生成了对象的,只是正好底层把id作为对象的引用放进去的.

还追加问一个问题,楼主知道如何使用动态拼接的id去访问对象吗?

比如id = a + "1" ;

这样的话,1 和 2 方式都不能使用了,3 方式可以取得对象,但是无法访问到直接字符串常量定义的方法.

比如:
当 id : "map"
则   map.getValue(); 是可以的

但当id: "map" + a  
demoForm.getItem("map" + a).getValue(); 就没有getValue()方法了

相关推荐

Global site tag (gtag.js) - Google Analytics