Ext 入门 (05) 打印+gridpanel()方法
生活随笔
收集整理的這篇文章主要介紹了
Ext 入门 (05) 打印+gridpanel()方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
附: Ext打印::: gridpanel()方法:
doStatis: function () {var me = this;var kssj = new Date();if (this.dateFieldStart) {kssj = this.dateFieldStart.getValue();};var jssj = new Date();if (this.dateFieldEnd) {jssj = this.dateFieldEnd.getValue();};var r = phis.script.rmi.miniJsonRequestSync({serviceId: "phis." + this.serviceId,serviceAction: "statis",body: {startDate: kssj.format('Y-m-d') + ' ' + '00:00:00',endDate: jssj.format('Y-m-d') + ' ' + '23:59:59',}});console.warn(r);var jsonstore = new Ext.data.JsonStore({data: r.json.body,fields: ['SJSL','ZHJE','ZJJE','ZFJE','QTYS','HBWC','STARTDATE','ENDDATE']});//定義列var column = new Ext.grid.ColumnModel({columns: [{header: '總收費次數(shù)',dataIndex: 'SJSL',width: 100},{header: '(開始)收費日期',dataIndex: 'STARTDATE',renderer: Ext.util.Format.dateRenderer('Y-m-d'),width: 140},{header: '(結(jié)束)收費日期',dataIndex: 'ENDDATE',renderer: Ext.util.Format.dateRenderer('Y-m-d'),width: 150},{header: '總帳戶金額',dataIndex: 'ZHJE',width: 100},{header: '總自費金額',dataIndex: 'ZFJE',width: 100},{header: '總其他應(yīng)收(醫(yī)保)',dataIndex: 'QTYS',width: 140},{header: '總計金額',dataIndex: 'ZJJE',width: 105},{header: '總貨幣誤差',dataIndex: 'HBWC',width: 100}]});//列表var grid = new Ext.grid.GridPanel({height: 470,store: jsonstore,colModel: column,tbar: [{pressed: true,enableToggle: true,text: '打印',id: 'print',iconCls: 'printing',handler: printGrid}],});//表單var form = new Ext.form.FormPanel({frame: true, url: 'abc',title: '門診收費結(jié)算匯總',style: 'margin:6px',items: [grid],});var win = new Ext.Window({title: "結(jié)算統(tǒng)計",width: 990,height: 600,minimizable: true, // 最大化maximizable: true, // 最小化frame: true,constrain: true, // 防止窗口超出瀏覽器窗口,保證不會越過瀏覽器邊界buttonAlign: "center", // 按鈕顯示的位置 plain: true, // 將窗口變?yōu)榘胪该鳡顟B(tài)。,//closeAction : 'close',//這里寫成 'hide'items: form});win.show(); //打印方法 function printGrid() {//建jsp顯示格式,初步標(biāo)題以及table,<tr>行,<td>列var tableStr = '<table width="100%" ><caption align="top"><h2>門診收費統(tǒng)計匯總單<br></caption></table><table width="100%" border=1>';var cm = grid.getColumnModel(); console.warn(cm);var colCount = cm.getColumnCount(); console.warn(colCount);var temp_obj = new Array();// 只下載沒有隱藏的列(isHidden()為true表示隱藏,其他都為顯示)// 臨時數(shù)組,存放所有當(dāng)前顯示列的下標(biāo)for (var i = 0; i < colCount; i++) { //從第三列開始,因為我的第1、2列是分別是rownumber和selectmodel。if (cm.isHidden(i) == true) {} else {temp_obj.push(i);}}tableStr = tableStr + '<tr><td>序號</td>';//for (var i = 0; i < temp_obj.length; i++) {// 顯示列的列標(biāo)題tableStr = tableStr + '<td>' + cm.getColumnHeader(temp_obj[i]) + '</td>';}//tableStr = tableStr + '</tr>';var store = grid.getStore(); console.warn(store);var recordCount = store.getCount(); console.warn(recordCount); //記錄計數(shù) //行for (var i = 0; i < recordCount; i++) {var r = store.getAt(i);tableStr = tableStr + '<tr><td>' + (i + 1) + '</td>';//列for (var j = 0; j < temp_obj.length; j++) {var dataIndex = cm.getDataIndex(temp_obj[j]); //標(biāo)題var tdValue = r.get(dataIndex); //值var rendererFunc = cm.getRenderer(temp_obj[j]);if (rendererFunc != null) {tdValue = rendererFunc(tdValue);}if (tdValue == null) {tdValue = '';}//顯示 行列對應(yīng)tableStr = tableStr + '<td>' + tdValue + '</td>';}tableStr = tableStr + '</tr>';}tableStr = tableStr + '</table>';var titleHTML = tableStr; // document.getElementById("printGridfff").innerHTML;var newwin = window.open('printer.jsp', '', '');newwin.document.write(titleHTML);newwin.document.location.reload();newwin.print();newwin.close();}}, });總結(jié)
以上是生活随笔為你收集整理的Ext 入门 (05) 打印+gridpanel()方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端 <table><td><tr><t
- 下一篇: extjs入门(06) 按钮占两行