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 新节点的创建 删除 的步骤
Jul 04 Javascript
JavaScript作用域链使用介绍
Aug 29 Javascript
js检测输入内容全为空格的方法
May 03 Javascript
用C/C++来实现 Node.js 的模块(二)
Sep 24 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
Mar 30 Javascript
js获取微信版本号的方法
May 12 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 jQuery
vue-cli脚手架config目录下index.js配置文件的方法
Mar 13 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
Aug 02 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
教你一步步实现一个简易promise
Nov 02 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通用防注入程序 推荐
2011/02/26 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
jQuery生成asp.net服务器控件的代码
2010/02/04 Javascript
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
jQuery实现用方向键控制层的上下左右移动
2013/01/13 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
Bootstrap基本样式学习笔记之表格(2)
2016/12/07 Javascript
JavaScript中数据类型转换总结
2016/12/25 Javascript
微信小程序传值以及获取值方法的详解
2019/04/29 Javascript
如何基于原生javaScript生成带图片的二维码
2019/11/21 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
在Python中移动目录结构的方法
2016/01/31 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
anaconda中更改python版本的方法步骤
2019/07/14 Python
Python实现时间序列可视化的方法
2019/08/06 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
python使用requests.session模拟登录
2019/08/09 Python
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
英国电器零售商:PRC Direct
2018/06/21 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
Exception类的常用方法
2012/06/16 面试题
活动邀请函范文
2014/01/19 职场文书
个人安全承诺书
2014/05/22 职场文书
企业党员一句话承诺
2014/05/30 职场文书
迎新晚会策划方案
2014/06/13 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
Linux安装Nginx步骤详解
2021/03/31 Servers