2

私は今日の時点でXtraReports(および一般的にはDevExpress)にまったく慣れていません。レポートを実装するのに2日ありますので、よろしければ親切に説明してください。

私が取り組まなければならないのは:

  1. WebForms(.NET 4)
  2. Entity Framework(edmx、コードファーストではありません)
  3. レポートを作成しました(DevExpress.XtraReports.UI.XtraReportを継承します)
  4. 現在、レポートをエンティティにバインドする方法がわからないため、レポートにフィールドはありません。

私は誰かがこれをしているサイトを見つけました:

NorthwindEntities entities = new NorthwindEntities();
report.DataSource = entities.Categories;

私はそのようにコンストラクターでそれをやってみました:

 this.DataSource = context.Tenants.ToList();

しかし、8つのレコードがあることがわかりますが、レポートには何も表示されません。いくつかのコントロールを作成してバインドする必要があると思います。誰かがこの状況のた​​めにいくつかの実用的なコードを持っていますか?

編集

そして、誰かが尋ねた場合に備えて..はい、私はすでにここを含む例をどこでも検索しています:http: //documentation.devexpress.com/#XtraReports/CustomDocument9814。そのサイトはDataSetにバインドする方法を示していましたが、その代わりにEntityFrameworkをどのように使用するかわかりません...それが私がここで尋ねている理由です...

4

2 に答える 2

3

これはうまくいきました: http ://www.devexpress.com/Support/Center/p/Q334667.aspx

どうやらそこにbindingSourceをドラッグするだけでいいのですが、デザイナにコードを1行追加する必要があります。私の場合:

this.bindingSource.DataSource = typeof(Tenant);

これで、そのクラスのすべてのプロパティが入力されたフィールドリストが表示され、フィールドをデザイナにドラッグアンドドロップできます。

于 2012-07-31T09:00:12.477 に答える
0

XtraReports も使用していますが、winform ソリューションで使用しているため、すべてがまったく同じかどうかはわかりません。

プロジェクト内に xtraReport ファイルを追加したと仮定すると、実行時ではなく設計時にデータソースを設定できます。これを行うには、レポートを開いてプロパティ ウィンドウを確認します。これを行うと、Visual Studio のフィールド ウィンドウからフィールドまたは完全なテーブルを選択して、それらをレポートに追加できます。ユーザーがレポートをデザインできないようにする場合は、ここでも行うことができます。

私の経験では、レポートに表示するデータのみを保持する別の edmx ファイルを作成するのが賢明です。devexpress がデータを処理する方法は、フィルタリングする前にすべてを取得することです。大規模なデータセットでは、これには時間がかかる場合があります。

于 2012-07-31T08:31:24.177 に答える