JqGrid web打印实现代码


Posted in Javascript onMay 31, 2011

在IE9中打印没有问题,但IE6、7、8都会出现前几页空白的情况(只显示列头信息),找了很久,才发现是ui-jqgrid-bdiv样式类(在ui.jqgrid.css内)中的overflow引起的,在打印之前将其删除,打印之后将其恢复即可。
打印时的CSS样式如下:

<style type="text/css" media="print"> 
#accordion h3, #vcol, div.loading, div.ui-tabs-hide,ul.ui-tabs-nav li, td.HeaderRight { display:none } 
.ui-jqgrid-titlebar, .ui-jqgrid-title{ display:none } 
.ui-jqgrid-bdiv_self{position: relative; margin: 0em; padding:0; text-align:left;} 
#pager{display:none; z-index:-1;} 
</style>

打印代码:
$("#btnPrint").live("click", function () { 
window.focus(); 
window.print(); 
return false; 
}); 
var GridHeight; 
function window.onbeforeprint() { 
//打印前事件 var jqgridObj=jQuery("#jqgridlist"); 
GridHeight = jqgridObj.jqGrid('getGridParam', 'height');//获取高度 jqgridObj.jqGrid('setGridHeight', '100%');//将其高度设置成100%,主要是为了jqgrid 中有Scroll条时 能把该scroll条内内容都打印出来 $("#gview_jqgridlist .ui-jqgrid-bdiv").removeClass().addClass("ui-jqgrid-bdiv_self");//去除掉overflow属性} 
function window.onafterprint() {//打印后事件 //放开隐藏的元素 
$("#gview_jqgridlist .ui-jqgrid-bdiv_self").removeClass().addClass("ui-jqgrid-bdiv");//恢复overflow属性,否则会导致jqgrid中scroll条消失 jQuery("#jqgridlist").jqGrid('setGridHeight', GridHeight);//设置成打印前的高度}

CSS 媒体属性介绍:
媒介类型(Media Types)允许你定义以何种媒介来提交文档。文档可以被显示在显示器、纸媒介或者听觉浏览器等等。
媒介类型
某些 CSS 属性仅仅被设计为针对某些媒介。比方说 "voice-family" 属性被设计为针对听觉用户终端。其他的属性可被用于不同的媒介。例如,"font-size" 属性可被用于显示器以及印刷媒介,但是也许会带有不同的值。显示器上面的显示的文档通常会需要比纸媒介文档更大的字号,同时,在显示器上,sans-serif 字体更易阅读,而在纸媒介上,serif 字体更易阅读。
@media规则
@media 规则使你有能力在相同的样式表中,使用不同的样式规则来针对不同的媒介。
下面这个例子中的样式告知浏览器在显示器上显示 14 像素的 Verdana 字体。但是假如页面需要被打印,将使用 10 个像素的 Times 字体。注意:font-weight 被设置为粗体,不论显示器还是纸媒介:
<html> 
<head> 
<style> 
@media screen 
{ 
p.test {font-family:verdana,sans-serif; font-size:14px} 
} 
@media print 
{ 
p.test {font-family:times,serif; font-size:10px} 
} 
@media screen,print 
{ 
p.test {font-weight:bold} 
} 
</style> 
</head> 
<body>....</body> 
</html>

不同的媒介类型
注释:媒介类型名称对大小写不敏感。
媒介类型 描述
all 用于所有的媒介设备。
aural 用于语音和音频合成器。
braille 用于盲人用点字法触觉回馈设备。
embossed 用于分页的盲人用点字法打印机。
handheld 用于小的手持的设备。
print 用于打印机。
projection 用于方案展示,比如幻灯片。
screen 用于电脑显示器。
tty 用于使用固定密度字母栅格的媒介,比如电传打字机和终端。
tv 用于电视机类型的设备。
Javascript 相关文章推荐
js下拉框二级关联菜单效果代码具体实现
Aug 03 Javascript
jQuery实现可展开合拢的手风琴面板菜单
Sep 15 Javascript
深入理解Javascript中的valueOf与toString
Jan 04 Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 Javascript
基于JS实现网页中的选项卡(两种方法)
Jun 16 Javascript
Vue组件之Tooltip的示例代码
Oct 18 Javascript
vue组件父与子通信详解(一)
Nov 07 Javascript
浅谈微信小程序flex布局基础
Sep 10 Javascript
vue axios基于常见业务场景的二次封装的实现
Sep 21 Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
深入理解 JS 垃圾回收
Jun 03 Javascript
解析JS在获取当前月的最后一天遇到的坑
Aug 30 Javascript
16个最流行的JavaScript框架[推荐]
May 29 #Javascript
js 静态动态成员 and 信息的封装和隐藏
May 29 #Javascript
在JavaScript中监听IME键盘输入事件
May 29 #Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
May 28 #Javascript
Jquery css函数用法(判断标签是否拥有某属性)
May 28 #Javascript
最新28个很棒的jQuery 教程
May 28 #Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
May 28 #Javascript
You might like
php面向对象全攻略 (十五) 多态的应用
2009/09/30 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
js实现前端分页页码管理
2017/01/06 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
github配置使用指南
2014/11/18 Python
10个易被忽视但应掌握的Python基本用法
2015/04/01 Python
在Python中使用模块的教程
2015/04/27 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
Python实现购物程序思路及代码
2017/07/24 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
浅谈python 类方法/静态方法
2020/09/18 Python
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
娇韵诗Clarins意大利官方网站:法国天然护肤品牌
2020/03/11 全球购物
2013年高中生自我评价
2013/10/23 职场文书
环保倡议书怎么写
2014/05/16 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
公司授权委托书范文
2014/08/02 职场文书
安全例会汇报材料
2014/08/23 职场文书
新课培训心得体会
2014/09/03 职场文书
学校运动会广播稿
2014/10/11 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
导游词之湖北武当山
2019/09/23 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang