お世話になります。
印刷の画面に困っています。
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);
}
次に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ページに印字可能とすると、
それ以上になった場合には、はみ出てしまいます。
配列などを使ってやるにしても、
どのように配列にいれ、どのようにしたら、改ページが
うまくいくか分からりません。
どなたか、教えて下さい。