ExtJs GridPanel动态列完整版.doc
文本预览下载声明
?
如图是我做成的效果:前面3列为固定的,后面4列是动态从数据库读取的。
?
ScoreSheetView类-用于生成json字符串
[java]? \o view plain view plain \o copy copy
public?class?ScoreSheetView?implements?Serializable?{??
??
????private?static?final?long?serialVersionUID?=?-7478139883055728881L;??
??
????private?Semester?semester;??
??
????private?StudentView?student;??
??
????private?String?scoreSheet;??
??
????private?ListDouble?scores;??
?
表头类-生成成绩动态表头
[java]? \o view plain view plain \o copy copy
public?class?ScoreSheetHeaderView?implements?Serializable?{??
??
????private?static?final?long?serialVersionUID?=?-9116348910410634412L;??
??
????private?String?header;??
??
????private?String?dataIndex;??
?
controller类中控制:
?
[java]? \o view plain view plain \o copy copy
@RequestMapping(/portfolio/srcs/getScoreSheet.htm)??
???public?ModelAndView?getScoreSheet(??
???????????@RequestParam(semesterId)?Long?semesterId,?HttpSession?session,??
???????????ModelMap?modelMap)?{??
??????????????ListScoreSheetView?views?=?new?ArrayListScoreSheetView();??
?????????????????ListScoreSheetRow?scoreSheets?=scoreSheetRowDao.findByStudent(??
????????????????????????????for?(ScoreSheetRow?row?:?scoreSheets)?{??
???????????????????????ScoreSheetView?view?=?new?ScoreSheetView(row);??
???????????????????????view.setScores(getScores(row));??
???????????????????????views.add(view);??
???????????????????}??
???????????????}??
???????????}??
???????????modelMap.put(success,?true);??
???????????modelMap.put(totalCount,?views.size());??
???????????modelMap.put(root,?views);??
???????}??
???????return?new?ModelAndView(new?MappingJacksonJsonView(),?modelMap);??
???}??
?
[java]? \o view plain view plain \o copy copy
?@RequestMapping(/portfolio/srcs/getScoreSheetHeaders.htm)??
????public?ModelAndView?getScoreSheetHeaders(HttpSession?session,??
????????????ModelMap?modelMap)?{??
????????ListScoreSheetHeaderView?headerViews?=?new?ArrayListScoreSheetHeaderView();??
//取得headerViews???
?????????ScoreSheetHeaderView?headerView?=?new?ScoreSheetHeaderV
显示全部