(1)
如上图所示,红框中添加复制按钮,选中黑框中的数据,点击复制后,相同的数据出现在绿色框中。
(2)思路:我们可以传递这个样品的id到后台,查询数据库查出这个样品的相关数据,修改id,重新插入到数据库中。
前台通过ajax方法传递数据到后台,后台利用ID进行数据库查询。
在这个页面的jsp页面中代码:
这是创建一个复制按钮,点击这个按钮之后会触发ttppSampleController类中goCopy()方法。
<t:dgToolBar title="复制" icon="icon-search" url="ttppSampleController.do?goCopy" funname="copy"></t:dgToolBar>
<script type="text/javascript">
//复制,传递数据到后台,funname表示链接的自己定义函数例
function copy() {
var row=$("#ttppSampleList").datagrid('getSelections');
// debugger;表示的是相当于java中的断点
$.ajax({
url : 'ttppSampleController.do?goCopy',
type : 'post',
data : {
id : row[0].id
},
cache : false,
success : function(data) {
}
});
}
</script>
在controller中创建goCopy()方法的代码:
@RequestMapping(params = "goCopy")
@ResponseBody
public AjaxJson goCopy(TtppSampleEntity ttppSample, HttpServletRequest request) {
AjaxJson j = new AjaxJson();//AjaxJson 是一个java文件,
message = "复制黏贴成功";
try {
if (StringUtil.isNotEmpty(ttppSample.getId())) {
//获得ajax后台传递过来 的数据这里的getEntity()方法是被封装的。
ttppSample = ttppSampleService.getEntity(TtppSampleEntity.class, ttppSample.getId());
//创建TtppSampleEntity的对象ttppsa,
TtppSampleEntity ttppsa=new TtppSampleEntity();
ttppsa.setAlcohol(ttppSample.getAlcohol());
ttppsa.setCapacity(ttppSample.getCapacity());
ttppsa.setCategory(ttppSample.getCategory());
ttppsa.setInputDate(ttppSample.getInputDate());
ttppsa.setManufacturer(ttppSample.getManufacturer());
ttppsa.setManufacturerName(ttppSample.getManufacturerName());
ttppsa.setPackageNo(ttppSample.getPackageNo());
ttppsa.setPackageType(ttppSample.getPackageType());
ttppsa.setProductionDate(ttppSample.getProductionDate());
ttppsa.setProductionNo(ttppSample.getProductionNo());
ttppsa.setQualification(ttppSample.getQualification());
ttppsa.setRemark(ttppSample.getRemark());
ttppsa.setStatus(ttppSample.getStatus());
ttppsa.setStatusImage(ttppSample.getStatusImage());
ttppsa.setType(ttppSample.getType());
ttppsa.setYm(ttppSample.getYm());
systemService.save(ttppsa);//将接受到的数据再次插入到数据库.
}
}catch(Exception e){
j.setSuccess(false);
message = e.getMessage();
}
j.setMsg(message);
return j;
}