[DORADO技术服务 ] 如何实现代码自动完成功能

hotbarsmu 2008-09-20



例如:输入合同号,系统自动到后台获取合同的详细信息并填写到系统当前的表单中。

该中实现的具体方式有很多种,但是主要的处理思想都是一致的,基本过程:
1.捕捉用户的合同号输入事件,并向服务器发出请求,同时把合同号信息提交到服务器
2.后台代码根据合同号获得该合同的详细信息
3.利用dorado的数据返回机制实现无刷新页面的数据返回
4.利用dorado客户端的数据放回事件并填写到客户端的表单中


实现方式1---利用一个定制的datasetCustom实现:
1.捕捉用户的合同号输入事件,并向服务器发出请求,同时把合同号信息提交到服务器
实现方式:在合同号字段对应的dataset的afterChange事件中
var contract_no = datasetContract.getValue("contract_no");//取出用户输入的合同号信息
datasetCustom.parameters().setValue("contractNo",cantract_no);//添加到datasetCustom的参数对象中
datasetCustom.flushData();//调用datasetCustom的flushData方法向服务器端发送新的数据请求
2.后台代码根据合同号获得该合同的详细信息
在datasetCustom的Listener中的afterLoadData()方法中:
String contractNo = dataset.parameters().getString("contract_no");//取出客户端获得的合同号信息
Contract contract = boObject.getContract(contractNo);//该处代码要用户自行实现,主要目的就是通过合同号获取合同对象
dataset.fromDO(contract);//转换Contract对象到dataset中,listener调用结束后,dorado会自动的将dataset中的数据同步到客户端的datasetCustom中。
3.利用dorado的数据返回机制实现无刷新页面的数据返回
dorado的listener自动完成
4.利用dorado客户端的数据放回事件并填写到客户端的表单中
在1代码实现中的datasetCustom.FlushData()方法后添加新的代码:
if (datasetCustom.getCurrent()){
datasetContract.setValue("owner", datasetCustom.getValue("owner"));//设定负责人代码自动完成功能代码
。。。设定其它需要自动代码完成字段的代码
}
实现方式2---利用一个RPCCommand实现,如id为commandGetContractInfo,method为getContractInfo:
1.捕捉用户的合同号输入事件,并向服务器发出请求,同时把合同号信息提交到服务器
实现方式:在合同号字段对应的dataset的afterChange事件中
var contract_no = datasetContract.getValue("contract_no");//取出用户输入的合同号信息
commandGetContractInfo.parameters().setValue("contractNo",cantract_no);//添加到commandGetContractInfo的参数对象中
commandGetContractInfo.execute();//调用的flushData方法向服务器端发送RPC请求
2.后台代码根据合同号获得该合同的详细信息
在视图模型实现类的getContractInfo方法中:
public void getContractInfo(ParameterSet parameters, ParameterSet outParameters)

throws Exception {
String contractNo = parameters.getString("contract_no");//取出客户端获得的合同号信息
Contract contract = boObject.getContract(contractNo);//该处代码要用户自行实现,主要目的就是通过合同号获取合同对象
DOUtils.DOToVariantSet(contract,outParameters);//转换Contract对象到 outParameters中,getContractInfo调用结束后,dorado会自动的将outParameters中的数据返回到客户端。
}
3.利用dorado的数据返回机制实现无刷新页面的数据返回
dorado的RPCCommand自动完成
4.利用dorado客户端的数据放回事件并填写到客户端的表单中
在commandGetContractInfo的onSuccess事件中
datasetContract.setValue("owner", command.outParameters().getValue("owner"));//设定负责人代码自动完成功能代码
。。。设定其它需要自动代码完成字段的代码

Global site tag (gtag.js) - Google Analytics