立即执行是一个按钮控件,点击时,会在后台执行一次所链接的页面。相当于一次链接+保存操作:点击链接打开页面,然后点击页面上的保存,关闭页面,但这一切并不在前端显示。因此,立即执行控件的控件属性与链接控件完全一致。

    注意:立即执行的页面中不能有区域。

    一般的,立即执行指向的后台页面有一些保存的操作。例如,后台页面A3单元格是=ds.select(ds.id),B3单元格是=ds.语文成绩,C3单元格是=ds.数学成绩,D3单元格是=B3+C3,D3的保存至属性公式中写ds.总成绩。一开始数据库中有语文成绩和数学成绩数据,但总成绩字段列为空,当点击 立即执行 时,这个页面会把总成绩算出来,然后保存到数据库的总成绩字段中,这样总成绩字段就有值了,达到批量更新数据库效果。

    例如毕业管理时,我们修改学生的毕业状态,改成 毕业 时,系统自动生成学生的学历证书号和学位证书号;改成 结业 时,系统自动生成学生的学历证书号,清除学位证书号;改成 待定 时,将毕业证书号和学历证书号清除。立即执行(一) 不弹出页面,改变数据并刷新 - 图1
    立即执行(一) 不弹出页面,改变数据并刷新 - 图2

    要实现这个功能,思路是使用立即执行控件和高级控件属性。立即执行控件指向的执行页面,设置证书编号的计算公式,在公式计算结果的单元格,设置保存至属性为证书编号字段。
    实现过程如图,B2单元格值为@it_id,保存至属性为it.id,B4单元格值为计算毕业证书编号的逻辑计算公式,该格的保存至属性为it.毕业证书编号,当执行这个页面时,该逻辑公式计算出来的值会保存到毕业证书编号字段中。立即执行(一) 不弹出页面,改变数据并刷新 - 图3

    立即执行控件,我们需要点击按钮弹出页面才能保存数据。如果不想多点击一下,而是在页面打开时就执行保存,可以用在单元格中写=table.学生.saveRecord({"id":ds.id,"是否收到":true});null类似的函数。这个函数在页面打开时,就执行,将数据写入到数据库。