单表体页面实际上也可以使用单表头的模式进行开发,但是为了发挥可编辑表格的便捷性,有些页面推荐使用这种方式进行开发。好处就是不需要切换到表单页面对数据进行修改。如下图所示:
同样省略前面的开发步骤。
7、Service开发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
/** * 产品,单表体 * * @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开发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
/** * 单表体 * * @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开发
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 |
<!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
原文:http://www.cnblogs.com/aimer311/p/3611525.html