- 締切済み
ASP.NETでの帳票
VisualStudio.NET 2003、VB.NETを使ってASP.NETのシステムを作成しています。 帳票の作成について教えてください。 DBから取得したリストを全件印刷したいのですが、1ページ20件ずつレイアウトして印刷したいのです。 最初はDataGridを使うと楽かと思っていましたが、20件ずつ複数ページになるようにするにはどうしたらよいのかわからずに困ってしまいました。 どうしようもなければ、 Response.WriteでHTMLのタグ出力をしていくしかアイディアが浮かびません。 でもそうすると、出力したタグはHEADタグの上に出てきてしまいました。 良い方法をご存知の方がいましたら教えていただけますでしょうか。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- temtecomai2
- ベストアンサー率61% (656/1071)
> ただ今回やりたいことは、20件ずつ改ページしながら全件を表示したいのです。 主要な全てのブラウザに対応しているかわかりませんが、スタイルシートで指定できます。 http://www.tagindex.com/stylesheet/page/page_break.html これと Response.Write を組み合わせて、自力で html を出力するようにすれば大丈夫かと。 Response.Write で思った場所に html を出力できないのは、思った場所で適切に書いてないからじゃないでしょうか。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jscript7/html/jsconDisplayingFromASPNET.asp
- temtecomai2
- ベストアンサー率61% (656/1071)
> 最初はDataGridを使うと楽かと思っていましたが、20件ずつ複数ページになるようにするにはどうしたらよいのかわからずに困ってしまいました。 これは? http://www.atmarkit.co.jp/fdotnet/aspexp/aspexp07/aspexp07_02.html
補足
DataGridを使用すると確かに20件ずつ表示することはできます。 ただ今回やりたいことは、20件ずつ改ページしながら全件を表示したいのです。 その方法をご存知でしたら是非ご教授ください。 よろしくお願いします。
お礼
CSSで、page-break-after:always とすると改ページができることは知っていました。 リスト形式の帳票のページを、ASP.NETのWebコントロールでスムーズにできないものかと考えていたのですが、やはりResponse.Writeを使用してHTMLタグを出力しながら作成することにしました。 VSで作成しており、vbファイルのPage_Loadのプロシージャに処理を記述すると、aspxファイルで記述しているHTMLタグより先に出力されてしまうようなので、aspxファイルにはタグを書かず、全てPage_Loadプロシージャで出力するようにしました。 若干、効率の悪い気もしていますが、今の私の技術だとこれが精一杯です。 回答、ありがとうございました。