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 相关文章推荐
在IE下获取object(ActiveX)的Param的代码
Sep 15 Javascript
Dom在ajax技术中的作用说明
Oct 25 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
Mar 26 Javascript
css transform 3D幻灯片特效实现步骤解读
Mar 27 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
May 14 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
深入分析javascript中的错误处理机制
Jul 17 Javascript
javaScript+turn.js实现图书翻页效果实例代码
Feb 16 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 Javascript
详解vue-cli中模拟数据的两种方法
Jul 03 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
详解JavaScript 为什么要有 Symbol 类型?
Apr 03 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/07/29 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php生成xml时添加CDATA标签的方法
2014/10/17 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
学习php开源项目的源码指南
2014/12/21 PHP
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
2012/01/13 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
python查找第k小元素代码分享
2013/12/18 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
python语言元素知识点详解
2019/05/15 Python
python实现证件照换底功能
2019/08/20 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
利用Python实现Excel的文件间的数据匹配功能
2020/06/16 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
英国Amara家居法国网站:家居装饰,现代装饰和豪华礼品
2016/12/15 全球购物
Sneaker Studio乌克兰:购买运动鞋
2018/03/26 全球购物
开办大学饮食联盟创业计划书
2014/01/29 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
设备收款委托书范本
2014/10/02 职场文书
教师节老师寄语
2015/05/28 职场文书
python pyhs2 的安装操作
2021/04/07 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python