複数のテーブルを含むページがあり、これらのテーブル間で印刷するために改ページが必要です。要素のスタイルを手動で「page-break-after:always」に設定すると、うまくいくようです。
<table style="page-break-after:always;">
しかし、テーブルを動的に追加したので、コードで行う必要があります...方法がわかりません。
(私はasp \ htmlの経験がほとんどないため、これは非常に初心者の質問になる可能性があります)
ありがとう!
複数のテーブルを含むページがあり、これらのテーブル間で印刷するために改ページが必要です。要素のスタイルを手動で「page-break-after:always」に設定すると、うまくいくようです。
<table style="page-break-after:always;">
しかし、テーブルを動的に追加したので、コードで行う必要があります...方法がわかりません。
(私はasp \ htmlの経験がほとんどないため、これは非常に初心者の質問になる可能性があります)
ありがとう!
すべてのテーブルの後に改ページを追加する場合は、スタイルをインラインで ( 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>
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
当然のことかもしれませんが、IE の一部またはすべてのバージョンで問題が発生しないように、このようなバグを抽象化する jQuery または同様のライブラリを使用することをお勧めします。
または、css クラスを動的に追加することもできます...
.page_break_after{
page-break-after:always;
}
次に、クラスを追加したいものにクラスを追加します。
$('#myTable').addClass('page_break_after');
それともネイティブ...
myTableElem.setAttribute('className', 'page_break_after');
動的に作成されたコントロールの Style コレクションに新しい項目を追加するだけです:
HtmlTable dynamicTable;
...
dynamicTable.Style.Add("page-break-after","always");