- - PR -
縦項目も横項目も複数ある場合の印刷
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2009-03-29 17:24
お世話になります。
印刷の画面に困っています。 ASP.NET 2.0 C# Windows 2000 と Windows XP Microsoft SQL 2005 Express Edition 上記の環境で開発しております。 iTextSharpで、見積一覧表を作成しようと思っています。 列タイトルには、業者名、 行タイトルには、製品、 行列一致する箇所には、該当する業者名の製品価格、 というような一覧表を作成したいのですが、 業者名も製品も複数あり、見積書毎に数も違います。 上から順に書き込んでいくように、 IDataReader で、下記のように業者名を読み込み、 IDataReader reader_gyousha = (IDataReader)sds_gyousha.Select(DataSourceSelectArguments.Empty); while (reader_gyousha.Read()) { Cell kCell1_6 = new Cell(new Phrase(string.Format("{0}", reader_gyousha["業者名"]), fntNormal)); seihin_table.AddCell(kCell1_6); kCell1_6.BorderWidth = 1; } 次にIDataReader で、1製品ずつ読み込みながら、 下記のように価格を読み込んでいます。 IDataReader reader_seihin = (IDataReader)sds_seihin.Select(DataSourceSelectArguments.Empty); while (reader_seihin.Read()) { Cell kCell4_3 = new Cell(new Phrase(string.Format("{0}", reader_seihin["製品名"]), fntNormal)); seihin_table.AddCell(kCell4_3); kCell4_3.BorderWidth = 1; IDataReader reader_gyousha2 = (IDataReader)sds_gyousha.Select(DataSourceSelectArguments.Empty); while (reader_gyousha2.Read()) { Session["gid"] = reader_gyousha2["業者ID"]; Session["sid"] = reader_seihin["製品ID"]; IDataReader reader_gyousha_kakaku = (IDataReader)sds_kakaku.Select(DataSourceSelectArguments.Empty); while (reader_gyousha_kakaku.Read()) { GyoushaCount++; Cell kCell4_8 = new Cell(new Phrase(string.Format("{0:#,###}", reader_gyousha_kakaku["価格"]), fntNormal)); seihin_table.AddCell(kCell4_8); } } } このやり方でいくと、 業者名は、5列、製品は、20行まで1ページに印字可能とすると、 それ以上になった場合には、はみ出てしまいます。 配列などを使ってやるにしても、 どのように配列にいれ、どのようにしたら、改ページが うまくいくか分からりません。 どなたか、教えて下さい。 |
1