Dorado开发框架下保存附件存草稿功能

实现这个功能的时候要注意2点:

1、 保持dataset中数据的version同数据库一致,以保证能够再次更新:

1)        保存成功之后,可以选择带回id重新刷新dataset

2)        或者直接带回idversionCREATED_BYCREATION_DATE置回dataset。(这里要注意CREATED_BYCREATION_DATE在添加操作之后也要回置)

2、 保存完附件之后如何让附件区域刷新(这个是重点)。要实现这个功能,需要改变一下我们页面的结构:

1)        managet页面引一个iframe

<div id="filesDiv"  style="display: ininle; overflow: hidden; ">

  <iframe name="attachFrame" id="attachFrame" src="oa_user_mail_attach.jsp" width="100%"  marginheight="0" marginwidth="0" frameborder="0"></iframe>

</div>

2)        将原来manager页面上的form放到新的页面oa_user_mail_attach.jsp上。

3)        要注意oa_user_mail_attach.jsp页面上要用如下代码区分出是添加操作还是修改操作。

<%

    if(attachId != "" && attachId != null){

%>

    new AttachFileView("OA_USERMAIL","<%=attachId%>",true);

    var file = new AttachFileAdd();

<%

}else{

%>

    var file = new AttachFileAdd();

<% 

}

%>

4)        在附件上传成功之后刷新下iframe

attachId = datasetUserMail.getValue("MID");    attachFrame.window.location="oa/module/pi/userMail/oa_user_mail_attach.jsp?attachId="+attachId;

 

这里只大概列出了关键操作,还有些细节需要注意

 

如何实现定时保存功能

进而,如果需要做到定时自动保存,可在页面上添加如下javascript

<script type="text/javascript">

window.setInterval("autoSave();",60000);

function autoSave(){

   commandSaveTemple.execute();

}

</script>

 

实现这个功能需要注意:

如果想实现定时保存,那么在处理数据保存成功之后的version问题时,就不用采用上面的方法1),因为在后台执行保存的同时,页面数据仍在修改,如果保存后根据回带的id重新刷新dataset会造成数据的损失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<?xml version="1.0" encoding="UTF-8"?> <view clazz="com.bstek.dorado5.docent.chapter2.Sample2_1ViewModel"> <Datasets> <Dataset type="Form" id="datasetForm"> <MasterLink/> <Fields> <Field name="EMPLOYEE_ID" label="员工编号" dataType=""> <Properties/> </Field> <Field name="DEPT_ID" label="部门" dataType=""> <Properties/> </Field> </Fields> <Parameters/> <Properties/> </Dataset> <Dataset type="Custom" listener="com.bstek.dorado5.docent.chapter2.CustomDatasetListener" id="datasetCustom" maxPropertyLevel="1"> <MasterLink/> <Fields> <Field name="EMPLOYEE_ID" label="员工编号" dataType=""> <Properties/> </Field> <Field name="DEPT_ID" label="部门" dataType=""> <Properties/> </Field> <Field name="EMPLOYEE_NAME" label="员工姓名" dataType=""> <Properties/> </Field> <Field name="SEX" label="性别" dataType="boolean"> <Properties/> </Field> <Field name="BIRTHDAY" label="出生日期" dataType="date"> <Properties/> </Field> </Fields> <Parameters> <Parameter dataType="" name="EMPLOYEE_ID"/> <Parameter dataType="" name="DEPT_ID"/> </Parameters> <Properties/> </Dataset> </Datasets> <Controls> <Control type="AutoForm" dataset="datasetForm" id="formForm"> <FormGroup title="查询条件"> <Element name="EMPLOYEE_ID" type="TextEditor" field="EMPLOYEE_ID"> <FieldLabel/> <TextEditor/> </Element> <Element name="DEPT_ID" type="TextEditor" field="DEPT_ID"> <FieldLabel/> <TextEditor/> </Element> <Element name="element1" controlAlign="center" showLabel="false" colSpan="2" type="Custom" controlId="buttonQuery"> <FieldLabel/> </Element> </FormGroup> </Control> <Control type="DataTable" dataset="datasetCustom" id="tableCustom" width="100%"> <Column field="EMPLOYEE_ID" name="EMPLOYEE_ID"/> <Column field="DEPT_ID" name="DEPT_ID"/> <Column field="EMPLOYEE_NAME" name="EMPLOYEE_NAME"/> <Column field="SEX" name="SEX"/> <Column field="BIRTHDAY" name="BIRTHDAY"/> </Control> <Control id="commandForm" queryDataset="datasetCustom" type="QueryCommand" conditionDataset="datasetForm"> <Parameters/> </Control> <Control id="buttonQuery" width="80" command="commandForm" type="Button" value="查询"/> <Control method="save" id="commandSave" type="UpdateCommand"> <DatasetInfos> <DatasetInfo dataset="datasetCustom"/> </DatasetInfos> <Parameters/> </Control> <Control id="buttonSave" width="80" command="commandSave" type="Button" value="提交"/> <Control type="DataPilot" dataset="datasetCustom" id="datapilotCustom"/> </Controls> <Properties/> </view>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值