CRYSTALネットスタイル

プルとプッシュ:二つの方法に分けレポートの使用、

プルおよびプッシュモデル
開発者に最も柔軟なデータアクセス方法を提供するためには、Crystal Reportsのデータベースドライバは、プルモデルに設計されており、プッシュモデルは、同時にデータアクセスを提供することができます。

プルモデル

プルモデルでは、データベースへのドライバが接続すると「プル」に必要なデータが来ます。このモデル、およびSQLコマンドおよびデータ取得のためのデータベースへの接続を使用するときに同時に書き込みコードに現像剤を必要とする、Crystal Reportsの自体で処理を行いました。あなたは、実行時に特別なコードを記述する必要がない場合は、プルモデルを使用します。

プッシュモデル

代わりに、プッシュモデルは、データベースに接続するレポートレコードセットまたはデータセットのフィールドに一致するSQLコマンドを作成して実行し、レポートにオブジェクトを渡すために、書き込みコードに現像剤を必要とします。この方法は、あなたが共有アプリケーションに接続することができ、およびCrystal Reportsのデータを受信する前に、データが最初に除外されます。


その比較的良好なパフォーマンスのプッシュ、プルの使用をお勧めしており、具体的には、コンテンツの説明を表示するオンライン行くことができます。

(操作の個人順序が、唯一の方法を表示することができ、他の方法があるはず);ここで、私はちょうど記述押します

まず、それは(DataSet1.xsd)であれば、データの良いセット後に提供、データセットを作成し、crystralreport1.rpt、セットアップcrystralreport.rptデータ接続を作成し、レポートのデザインが良いです後、我々はウェブを作成する必要がありますフォーム(例えば、Crystral_Use.aspx)、ページがCrystalReportViewerコントロールにドラッグすることを特徴とする請求、以下の操作が続きます。

第二に、対応する参照がCrystalDecisions.Sharedを使用して、ネームスペース、およびCrystalDecisions.CrystalReports.Engineを使用して、

最後に、crystral-use.aspxページをプログラミング以下:

CrystalReport1 crvs =新しいCrystalReport1(); //インスタンス化レポート

      プライベートのボイドをPage_Load(オブジェクト送信者、System.EventArgs e)の

      {

        //ここに入れてユーザーコードは、ページを初期化します

        文字列は "=サーバー。;データベース= BMSShopping; UID = SA; PWD = 123456;"; CONNSTRING = //データベース接続のSqlConnection CONN =新しいSqlConnectionオブジェクト(CONNSTRING)。

        SqlDataAdapterオブジェクトダ=新しいSqlDataAdapterオブジェクト();

        da.SelectCommand =新しいSqlCommandオブジェクト();

        da.SelectCommand.CommandText = "注文から選択トップ3 *"; // da.SelectCommand.Connection = CONNデータベースからデータを取り出します。

        conn.Open();

        DATASET1 DS =新しいDATASET1(); //カスタムアプリケーションのデータ・セット

        da.Fill(DS、 "受注");

        crvs.SetDataSource(DS)。

        this.CrystalReportViewer1.ReportSource = crvs。

}

このように、簡単なcrystralreportは、アプリケーションに終了しました。

拡張:

レポートをエクスポートする場合は、動作設定を続行します:

まず第一に、または以上、ドラッグをもとにエクスポート形式を選択するためにドロップダウンリストコントロールをドロップします。

次に、コードを記述します。

//レポートのエクスポート

   CrystalDecisions.Shared.DiskFileDestinationOptions DiskOpts =新しいCrystalDecisions.Shared.DiskFileDestinationOptions();

        crvs.ExportOptions.ExportDestinationType = CrystalDecisions.Shared.ExportDestinationType.DiskFile。

        スイッチ(ddlFormat.SelectedItem.Text)

        {

           ケース「RTF形式」:

              crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.RichText; //

              DiskOpts.DiskFileName = "D:\\ Output.rtf"; //エクスポートパス

              this.Response.Write( "エクスポートRTF形式の成功!");

              ブレーク;

           ケース「PDF形式」:

              crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat; //

              DiskOpts.DiskFileName = "D:\\ Output.pdf"; //エクスポートパス

              this.Response.Write( "エクスポートPDF形式の成功!");

              ブレーク;

           ケース「DOC形式」:

              crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.WordForWindows; //

              DiskOpts.DiskFileName = "D:\\ Output.doc"; //エクスポートパス

              this.Response.Write( "DOC形式のエクスポート成功!");

              ブレーク;

           ケース「Excel形式」:

                 crvs.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Excel; //

                DiskOpts.DiskFileName = "D:\\ Output.xls"; //エクスポートパス

              this.Response.Write( "EXCEL形式のエクスポート成功!");

              ブレーク;

           デフォルト:

              ブレーク;

        }

        crvs.ExportOptions.DestinationOptions = DiskOpts。

      crvs.Export();

      }

これまでのところ、達成するために印刷し、関連するすべてのレポートが終了されるだろう、多分そこ操作のより良い方法があるか、私はあなたが私に知らせて願っています。Visual Studioの2003年に比べてVisual Studio 2005のCrystal Reportsの操作、については非常に簡単、ドラッグ&ドロップを実現することが可能です。そして、Visual Studio 2005は、比較的簡単ですが、美しいもアップグレード。
----------------
免責事項:この記事は元の記事CSDNブロガー「yingzhaom」で、CC 4.0 BY-SAの著作権契約書に従ってください、複製、元のソースのリンクと、この文を添付してください。 。
オリジナルリンクします。https://blog.csdn.net/yingzhaom/article/details/7775491

おすすめ

転載: www.cnblogs.com/qiu18359243869/p/12158964.html