NW开发教程系列四:单表体
单表体页面实际上也可以使用单表头的模式进行开发,但是为了发挥可编辑表格的便捷性,有些页面推荐使用这种方式进行开发。好处就是不需要切换到表单页面对数据进行修改。如下图所示:

同样省略前面的开发步骤。
7、Service开发
/**
* 产品,单表体
*
* @author xuqc
* @date 2013-10-17 下午02:36:03
*/
@Service
public class T208Service extends AbsToftServiceImpl {
private AggregatedValueObject billInfo;
public AggregatedValueObject getBillInfo() {
if(billInfo == null) {
billInfo = new HYBillVO();
VOTableVO vo = new VOTableVO();
vo.setAttributeValue(VOTableVO.BILLVO, HYBillVO.class.getName());
vo.setAttributeValue(VOTableVO.HEADITEMVO, ProductVO.class.getName());
vo.setAttributeValue(VOTableVO.PKFIELD, ProductVO.PK_PRODUCT);
billInfo.setParentVO(vo);
}
return billInfo;
}
}
8、Controller开发
/**
* 单表体
*
* @author xuqc
* @date 2013-10-17 下午02:55:09
*/
@Controller
@RequestMapping(value = "/busi/scene/t208")
public class T208Controller extends AbsToftController {
@Autowired
private T208Service t208Service;
@Override
public T208Service getService() {
return t208Service;
}
}
9、对应的jsp开发
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
<html>
<head>
<%@ include file="/common/header.jsp"%>
</head>
<body>
<nw:Bill templetVO="${templetVO}" bodyGridsPagination="true" />
</body>
<script type="text/javascript">
//单表体档案,BodyToolbar已经默认增加了一些按钮,如果要自己增加一些按钮,那么继承该类
${moduleName}.appUiConfig.toolbar = new uft.jf.BodyToolbar();
var app = new uft.jf.ToftPanel(${moduleName}.appUiConfig);
/**
*表体编辑后事件
*@param e 事件对象,通过这个参数可以得到以下值:
*var record=e.record; 当前编辑的行对象
var row = e.row; 当前编辑的行号
var grid = e.grid; 当前编辑的表格
var column = grid.originalColumns[e.column];//当前编辑的列对象
var fieldName=e.field; 当前编辑的列的名称
var value=e.value; 当前编辑的单元格编辑后的值
var originalValue=e.originalValue; 当前编辑的单元格编辑前的值
*/
function afterEditBody(e){
alert(1);
if(e.field == 'categoryname'){
//uft.Utils.setColumnHidden('demo_product_detail',{'productprice':true});
}else if(e.field =='productprice'){
var grid = Ext.getCmp('demo_product_detail');
var editor = uft.Utils.getColumnEditor(grid,'vmemo');//vmemo列是一个下拉组件
editor.addExtendParams({p:1});
}
}
</script>
<%@ include file="/common/footer.jsp"%>
</html>
具体的示例可以参考:http://xuqc.fangwei.name:9080/demo-webapp administrator/143305
浙公网安备 33010602011771号