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

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');
于 2010-08-17T22:47:56.640 に答える
0

動的に作成されたコントロールの Style コレクションに新しい項目を追加するだけです:

HtmlTable dynamicTable;
...
dynamicTable.Style.Add("page-break-after","always");
于 2010-08-17T23:01:24.567 に答える