# re: Web表格打印页面的生成
2008-01-24 14:25
msung
amp@java 你好,我遇到这个问题很久,由于数据太多,一个td里的东西在一个页面下根本放不下,就会分开俩页打,这就造成tr分成俩页,特别难看,下面是我的代码。你有什么好方法。能避免这准分页。
计划信息打印function fReturn(){
history.go(-1);
}
function select(key){
//alert(document.getElementById('PM').style.display);
findObj(key).style.display='';
}
//直接打印
function doPrint() {
//alert(findObj('antable').clientHeight);
//alert(document.all.table.rows(0).cells(0).offsetHeight) //这个也是查询指定对象的高度。
bdhtml=window.document.body.innerHTML;
sprnstr="";
eprnstr="";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
var table1=document.all.tags("table") //找出所有table
//alert(table1);
var tabnumber=table1.length; //table的个数
//alert(tabnumber);
for(var i=0;i<=tabnumber;i++){ //循环遍历table
//alert(table1[i].id); //输出table的id
//下面是找出table的id为table的table,并且查出table的高度,如果他的高度高于899,就给它里面的id为‘one’的对象的高度赋值为850
//并且给id为pp的对象插入pageEnd的样式,然后跳出循环。
if(table1[i].id=="table"){
//var frameheight=table1[i].rows(0).cells(0).offsetHeight
var frameheight = findObj('table').clientHeight;
if(frameheight>899){
document.getElementById('one').height='850'
//alert(document.getElementById('one').height);
//alert(document.getElementById('PP').className);
document.getElementById('PP').className='pageEnd'; //插入pageEnd样式,用于俩个table的分页。
document.getElementById('two').height='850'
//alert(document.getElementById('PP').className);
}
continue;
}
if(table1[i].id=="antable"){
var frameheight = findObj('antable').clientHeight;
if(frameheight>899){
document.getElementById('three').height='850'
document.getElementById('QQ').className='pageEnd';
document.getElementById('four').height='850'
}
break;
}
}
window.print();
}
${(plan.month)?default('')}月份工作月报 | ||||||||||||||
部门: | ${(plan.department)?default('')} | 日期: | ${(plan.mitTime)?default('')} | |||||||||||
| ||||||||||||||
|