附: 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: '总收费次数',dataIndex: 'SJSL',width: 100},{header: '(开始)收费日期',dataIndex: 'STARTDATE',renderer: Ext.util.Format.dateRenderer('Y-m-d'),width: 140},{header: '(结束)收费日期',dataIndex: 'ENDDATE',renderer: Ext.util.Format.dateRenderer('Y-m-d'),width: 150},{header: '总帐户金额',dataIndex: 'ZHJE',width: 100},{header: '总自费金额',dataIndex: 'ZFJE',width: 100},{header: '总其他应收(医保)',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: '门诊收费结算汇总',style: 'margin:6px',items: [grid],});var win = new Ext.Window({title: "结算统计",width: 990,height: 600,minimizable: true, // 最大化maximizable: true, // 最小化frame: true,constrain: true, // 防止窗口超出浏览器窗口,保证不会越过浏览器边界buttonAlign: "center", // 按钮显示的位置 plain: true, // 将窗口变为半透明状态。,//closeAction : 'close',//这里写成 'hide'items: form});win.show(); //打印方法
function printGrid() {//建jsp显示格式,初步标题以及table,<tr>行,<td>列var tableStr = '<table width="100%" ><caption align="top"><h2>门诊收费统计汇总单<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表示隐藏,其他都为显示)// 临时数组,存放所有当前显示列的下标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++) {// 显示列的列标题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); //记录计数 //行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]);    //标题var tdValue = r.get(dataIndex);                //值var rendererFunc = cm.getRenderer(temp_obj[j]);if (rendererFunc != null) {tdValue = rendererFunc(tdValue);}if (tdValue == null) {tdValue = '';}//显示 行列对应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();}},
});

Ext 入门 (05) 打印+gridpanel()方法相关推荐

  1. 笔记整理1----Java语言基础(一)01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法

    01 变量与数据类型+02 运算符与表达式+03 条件判断与循环语句+04 JAVA数组+05 函数与方法 第01天 java基础知识 今日内容介绍  Java概述.helloworld案例  工 ...

  2. 30分钟入门Java8之默认方法和静态接口方法

    2019独角兽企业重金招聘Python工程师标准>>> 30分钟入门Java8之默认方法和静态接口方法 作者:@JohnTsai 本文为作者原创,转载请注明出处:http://www ...

  3. 新手入门python的注意事项_【新手入门Python语言的方法】

    2018年编程语言榜,Python位居榜首,很多学员对这门表示有着强烈的兴趣. 中公优教育小编这次就来谈谈Python入门方法. 下面直接进入今天的主题: 学编程,python算是一个不错的选择.因为 ...

  4. 时光手帐如何打印 时光手帐打印的方法

    1.如果你想要来打印自己制作的手帐,那么就需要先点击进入个人页面,然后在右上方选择"打印"选项来进入打印商城中. 时光手帐如何打印 时光手帐打印的方法 2.接下来需要在打印商城里选 ...

  5. Ext.data.SimpleStore的使用方法

    Ext.data.SimpleStore的使用方法 Ext.data.SimpleStore简单数据存储器 参数: data:Array数组类型. fields:数组对应的字段名称. var data ...

  6. mysql sql优化入门_Mysql入门SQL 语句优化方法30例

    作者:VEPHP   时间 2017-09-27 <Mysql入门SQL 语句优化方法30例>要点: 本文介绍了Mysql入门SQL 语句优化方法30例,希望对您有用.如果有疑问,可以联系 ...

  7. linux入门_Linux入门的10种方法

    linux入门 文章什么是Linux用户? 作者:安德森·席尔瓦(Anderson Silva)明确指出,如今,只要您对"使用Linux"的定义足够广泛,人们使用Linux(以某种 ...

  8. php 条码打印控件,jQuery插件jquery-barcode实现条码打印的方法

    本文实例讲述了jQuery插件jquery-barcode实现条码打印的方法.分享给大家供大家参考,具体如下: 这是一个纯js的jQuery插件,项目地址:http://barcode-coder.c ...

  9. ASP.NET使用Coolite.Ext.Web.dll,显示ext未定义的解决方法

    开发系统时用到Coolite.Ext.Web.dll,起初使用Windows Server 2003进行的开发,测试都没有问题.后来装了Windows Server 2008,再进行开发此时是,总显示 ...

最新文章

  1. Spring从菜鸟到高手(四)(上)使用JdbcTemplate类实现用户登陆验证、批量更新
  2. STL学习小记--与C++模板相关的几个特性
  3. PAT甲级1089 Insert or Merge:[C++题解]插入排序、归并排序
  4. idea解决maven全局配置
  5. linux显示光盘命令行,使用wodim在命令行下烧录光盘
  6. 迷你世界电锯机器人_迷你世界:生产果冻的机器人,1分钟产出500个,10种口味随意挑选...
  7. Oracle之PL/SQL学习笔记之有名块练习
  8. [转载] python十个程序_程序猿开发Python的十个基本入门技巧?
  9. springboot2.x整合Email并利用AOP做一个项目异常通知功能
  10. Linux命令 uname:查看系统与内核相关信息
  11. 自己编写的C语言实时时钟代码
  12. Xman的东西当然值钱了。每1单位高度的植物,就可以卖2美元,把减掉的植物都卖掉,就可以弥补罚单的损失了。你帮Xman计算一下一共可以卖多少钱。
  13. 程序员如何优雅地写公众号
  14. Java批量高效压缩支持加解密支持所有压缩格式(Zip/7z/rar)
  15. 变色镜片 | 夏日光线防护新宠儿
  16. JVM内存模型和垃圾回收机制
  17. 手把手教你六类网线水晶头接法,超详细教程
  18. matlab lm计算方式,lm算法(lm算法原理介绍)
  19. TiDB3.0.1与3.0.2版本的TiKV宕机对比测试
  20. 采用用计算机及条形码技术的是什么,条形码技术及其应用

热门文章

  1. c语言接口作用是什么,C语言接口与实现之异常处理try-except
  2. 微信小程序 获取授权信息详解
  3. java统计词频算法_java实现的统计字符算法示例
  4. 在python3中print作为函数存在_Python3中的print函数
  5. lcl手术和飞秒区别_干货科普:目前市面上4种近视手术方式有何区别(全飞秒、半飞秒、全激光、晶体植入)...
  6. mysql 查询正在执行的事务以及锁 常用的sql语句
  7. Java面试题40道
  8. MFC 添加文件路径 遍历文件
  9. 推荐系统-基于矩阵分解的LFM模型
  10. eclipse maven插件创建java web项目(2)