1.在列表页面js中增加showFieldsWin方法,用于导出按钮调用。参见CiViewPanel.js
showFieldsWin : function(){
//取得grid var grid = Ext.getCmp(\"ci-main-grid\");
var store = grid.getStore(); //取得页面的查询条件 var hql = store.baseParams.hql; //取得当前页数据的id var ids =\"\";
for(var i=0; i var panel = Ext.getCmp(\"ci-main-view\"); var title = panel.title; //定义exportClass为当前model类 var exportClass = \"com.dhcc.itsm.cmdb.model.Ci\"; var record = store.getAt(i); ids += \"'\"+record.data['id']+\"',\"; //打开FieldsSelectWin窗口页面 var win = new FieldsSelectWin(hql,ids,exportClass,title); } win.show(); Step2 2. FieldsSelectWin.js为公共组件,不用修改。其中调用的getFieldsList方法在ExportAction.java中,用于得到当前model类的中文属性名和英文属性名。 Step3 3.在选择导出属性窗口中选择要导出的属性、数据和导出格式,点击导出按钮,执行ExportAction中的exportData()方法,导出完成。exportData()为通用方法,不需要进行修改。其中,用到OptionFactory.java中的parse方法用于动态组装对象列表数据;用到getTitles()方法,用于得到要导出的中文属性名;用到Excel.java中的excel、pdf、csv方法用于导出excel、pdf、csv格式的文件。均不需要修改。 *注 1. 若导出类中的关联字段的名称使用getName()方法外的方法得到,请与闫树锋联系。 2. 若导出类model中属性的annotation不是 \"javax.persistence.Column\x.persistence.OneToOne\"中的任何一种,请与闫树锋联系。 因篇幅问题不能全部显示,请点此查看更多更全内容