- PR -

CR.NETのPDFエクスポートについて

1
投稿者投稿内容
ふる
会議室デビュー日: 2003/10/22
投稿数: 2
投稿日時: 2003-10-22 11:32
VS.NETのクリスタルレポートでPDFにエクスポートするときに
RecordSelectionFormulaに「レコード選択式」を指定して対
象データのみをエクスポートしようとしているのですが、全デ
ータがPDFにエクスポートされてしまいます。
以下のようにコーディングしているのですが、何か不足してい
るのでしょうか?
また、クリスタルレポートのデザイナで「レコード選択式」を
定義しても全データがPDFにエクスポートされてしまいます。
ご教授の程、宜しくお願いいたします。

private void Page_Load(object sender, System.EventArgs e)
{
// ページを初期化するユーザー コードをここに挿入します。
ReportDocument CrystalReport = new ReportDocument();

CrystalReport.Load(Server.MapPath("./CrystalReport.rpt"));
CrystalReport.RecordSelectionFormula = "{UserTbl.UserID} = \\"001\\"";
// ↑ここで「レコード選択式」を指定しても反映しない。

CrystalReport.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
CrystalReport.ExportOptions.FormatOptions = new PdfRtfWordFormatOptions();

ExportRequestContext req = new ExportRequestContext();
req.ExportInfo = CrystalReport.ExportOptions;
System.IO.Stream st = CrystalReport.FormatEngine.ExportToStream(req);
byte[] b = new byte [st.Length];
st.Read(b, 0, (int)st.Length);

Response.ContentType = "Application/pdf";
Response.BinaryWrite(b);
Response.End();
}
bubunya
大ベテラン
会議室デビュー日: 2003/01/16
投稿数: 124
投稿日時: 2003-10-25 00:06
まず、文字列の引数はダブルクォートではなく、シングルクォートを使ってください。
これで解決しない場合は Refresh() を呼んでみてください。
ふる
会議室デビュー日: 2003/10/22
投稿数: 2
投稿日時: 2003-10-27 09:21
bubunyaさんアドバイスありがとうございます。
いつも参考にさせて頂いております。

bubunyaさんのおっしゃるとおりに試してみたのですが、
やはりうまく動作しませんでした。
そこで、いろいろ試してみたのですが、以下のようにあらかじめSELECTした
DataSetを作って、そのDataSetをクリティカルレポートにセットして実現させました。
しかし、RecordSelectionFormulaを使って実現できないのが未だに不明です...。
とりあえず、期待値を得ることができましたので、今回はこれでいこうと思います。
また、宜しくお願いいたします。

private void Page_Load(object sender, System.EventArgs e)
{
 this.oleDbSelectCommand1.CommandText = "SELECT * FROM UserTbl WHERE UserID='001'";
 this.oleDbDataAdapter1.Fill(this.dataSetSysDev1, "UserTbl");

 ReportDocument CrystalReport = new ReportDocument();

 CrystalReport.Load(Server.MapPath("./WorkRptCrystalReport.rpt"));
 CrystalReport.Database.Tables["UserTbl"].SetDataSource(this.dataSetSysDev1);
// ここでDataSetをセット

 CrystalReport.ExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
 CrystalReport.ExportOptions.FormatOptions = new PdfRtfWordFormatOptions();

 ExportRequestContext req = new ExportRequestContext();
 req.ExportInfo = CrystalReport.ExportOptions;
 System.IO.Stream st = CrystalReport.FormatEngine.ExportToStream(req);
 byte[] b = new byte [st.Length];
 st.Read(b, 0, (int)st.Length);

 Response.ContentType = "Application/pdf";
 Response.BinaryWrite(b);
 Response.End();
}

1

スキルアップ/キャリアアップ(JOB@IT)