0

我有一个页面上有多个表格,我想在这些表格之间打印一个分页符。如果我手动将元素的样式设置为“page-break-after:always”,它似乎可以工作。

<table style="page-break-after:always;">

但是我是动态添加表格的,所以我需要用代码来做......只是不知道怎么做。

(我的 asp\html 经验很少,所以这可能是一个非常新手的问题)

谢谢!

4

3 回答 3

1

如果要在每个表格后添加分页符,则不要定义内联样式(使用 style属性),而是在页面或母版页的头部定义:

<head>
    <style>
        table {
            page-break-after: always;
        }
    </style>
<head>

或者在外部 css 文件中定义它:

网站.css:

table {
    page-break-after: always;
}

你的html页面:

<head>
    <link rel="stylesheet" type="text/css" href="site.css" />
</head>
于 2010-08-17T22:53:18.640 回答
0

只需将一个新项目添加到动态创建的控件的样式集合中:

HtmlTable dynamicTable;
...
dynamicTable.Style.Add("page-break-after","always");
于 2010-08-17T23:01:24.567 回答
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');
于 2010-08-17T22:47:56.640 回答