我有一个页面上有多个表格,我希望在这些表格之间打印一个分页符。如果我手动将元素的样式设置为“page-break-after:always”,它似乎可以正常工作。
<table style="page-break-after:always;">
但是我已经动态地添加了表格,所以我需要在代码中执行它...只是不知道如何。
(我的asp \ html经验很少,所以这可能是一个非常新手的问题)
谢谢!
答案 0 :(得分:1)
如果您想在每个表后添加分页符,请不要在内嵌样式(使用样式属性),而是在页面的头部或母版页:
<head>
<style>
table {
page-break-after: always;
}
</style>
<head>
或者在外部css文件中定义它:
的site.css:
table {
page-break-after: always;
}
你的html页面:
<head>
<link rel="stylesheet" type="text/css" href="site.css" />
</head>
答案 1 :(得分:0)
如果要在JavaScript中动态添加表,则可以执行以下操作:
使用jQuery:
$('#myTable').css({'page-break-after':'always'});
使用DOM方法:
myTableElem.setAttribute('style','page-break-after:always;');
//note, this fails in IE6/IE7/IE8(if not in standards mode) (due to an IE bug)
myTableElem.style.setAttribute('cssText', 'page-break-after:always;');//IE only way
这可能是显而易见的,但我建议使用jQuery或类似的库来抽象出这些错误,这样你就不会遇到某些/所有IE版本的问题。
或者你可以动态添加一个css类......
.page_break_after{
page-break-after:always;
}
然后只需将类添加到您想要添加到的任何内容中:
$('#myTable').addClass('page_break_after');
或原生......
myTableElem.setAttribute('className', 'page_break_after');
答案 2 :(得分:0)
只需将新项添加到动态创建的控件的Style集合中:
HtmlTable dynamicTable;
...
dynamicTable.Style.Add("page-break-after","always");