Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

这样向导操作的最终结果是给datasetCompany这个DataSet的dataType的值赋值为[SlCompany],如果向导中Select object type的值设置为Default,则该处的dataType值就会是SlCompany,没有中括号。

接下来需要设定datasetCompany的dataProvider属性为:"companyService#getCompany":


 

Info
titleinfo

我们定义的dataProvider跟前面第三章中AjaxAction的service同属于服务定位表达式,dataProvider是Dorado9中常见的数据加载技术,主要用于为DataSet加载数据,本身也是一种Ajax数据加载形式。

companyService#getCompany这个表达式的意思为在Spring的beanFactory中寻找id为companyService的bean,执行其中的getCompany方法为datasetCompany提供数据。

更多信息可以参考相关链接 DataProvide与DataResolver

 

步骤4:新建并配置AutoForm

datasetCompany是一个数据容器控件,在页面上是不可见的,为了展现其中的数据我们需要添加一个可以展现数据的控件对象,如AutoForm。在视图中添加AutoForm控件:

并设定AutoForm的属性如下:

属性说明
idautoformCompany控件的Id
dataSetdatasetCompany通过dataSet属性告知AutoForm绑定是哪些数据,以便在AutoForm中展示和处理。

【鼠标右键】点击autoformCompany控件,在弹出菜单中选择【Generate AutoForm Elements】,生成相关字段:

删除companyId这个AutoForm Elements,最终结果如下图:

Info
titleinfo

假如不生成AutoForm的AutoForm Elements,那么AutoForm将显示绑定Dataset的DataType的所有字段

 

由于AutoForm默认是按2列显示,我们如果需要其单列显示则需要调整布局,设置autoformCompany的属性如下:

属性说明
cols*AutoForm列显示布局表达式
width450控件的宽度
labelSeparatorAutoForm Element中标签和输入框间的分隔符
Info
titleinfo

对于cols属性的详细说明请参考 AutoForm

本页面仅作为企业信息的展示,因此需要设置autoformCompany为只读,设置属性如下:

属性说明

readOnly

true控件的只读属性
Note
titlenote

如果需要设置autoformCompany只读还有另外一种方法,直接设置datasetCompany的readOnly属性为true即可。前面提到AutoForm控件为数据敏感型控件,当其数据来源的DataSet设置为只读时,那么AutoForm自然也变为只读。这样做的好处在于只要单独设置DataSet的readOnly属性就能控制所有与之绑定的数据敏感控件的只读状态。

到目前为止,View部分设置完毕,接下来我们需要准备后台服务。