通常情况下,我们都是预先设置好 dataType 中某一个属性的初始化参数,然后使用一个dataSet 指向dataType ,最后使用一个表单autoForm 指向 dataSet。
但是有时候我们需要在程序中动态的设置 dataType的某一个属性,并要求在界面上能够显示出改变。
比如:dataType 中有 applyType属性,applyContent属性。
我需要根据applyType的值来决定,applyContent是否是必输的。
由于显示applyContent的组件autoFormElement没有 required属性,它的必输标志‘*’是由 dataType中 applyContent 的required字段来决定的,所以没有办法直接在显示组件上进行修改。
那么我们怎么修改dataType.applyContent.required的值那。
可以这样去修改:
view.get("#dataSetID号.dataType") .getPropertyDef("属性名").set("字段名",值) ;
比如:
view.get("#dsNewServiceApply.dataType").getPropertyDef("applyContent").set("required",true) ;
值虽然设置了,但是关联dataSet的autoForm并没有显示改变。
这时候,重新设置一下autoForm与dataSet之间的连接关系就可以了。
view.get("#autoForm编号").set("dataSet",view.get("#dataSetID号")) ;
比如:
view.get("#formNewServiceApply").set("dataSet",view.get("#dsNewServiceApply")) ;
==========================================================================
一些其他的属性,如dataType中某一个字段的label,visible等属性,也可以按照上面的方法进行设置。