2009-04-30 11 views
0

SubSonicで生成されたコレクションを、Microsoftレポート(rdlc)で「ビジネスオブジェクトデータソース」として使用できる人はいますか?私はSubSonicのクラスコードを生成しましたが、何らかの理由でレポートのデータソースウィンドウがそのクラスを潜在的なオブジェクトコレクションのデータソースとして見ていません。subsonicオブジェクトコレクションをMicrosoftレポート(rdlc)にバインド

これが機能するために必要なことはありますか?事前に

おかげで...ビジネスオブジェクトからvsdotnetguy

答えて

0

Thxクリスとアダム、

ここに答えがあります。

私のケースでは、実行時にSubSonicオブジェクトコレクションを使用して、メインとサブレポートのデータソースを動的に設定したいと考えました。ただし、データソース列のドラッグアンドドロップを使用してレポートレイアウトを設計することも考えました。

しかし、私のサブソニックコレクションがウェブサイトのデータソースに表示されていなかったので、ドラッグ&を使ってレポートをデザインすることができませんでした。

しかし、私はObjectDataSourceコントロールを使っていくつかのコントロールバインディングを行っていましたが、私は現在、SubSonicコレクションがWebsite DataSourcesウィンドウに表示されていて、レポートレイアウトをドラッグアンドドロップできることに気付きました。

ですから、実行時に動的にレポートのデータソースを設定していると、プロジェクトですでにObjectDataSourceコントロールを使用していない場合、あなたはあなたのaspxページのいずれかにダミーのObjectDataSourceコントロールを追加しなければなりません。これにより、ビジネスオブジェクトデータソースがレポートデザイナに表示されます。

0

私がロードされているレポートサービスレポートの前に(NHibernateは介してロード - 正確ではなく、引数のために十分に近接していません)。

複数のキーポイント: 1.オブジェクトを1つ返すだけであっても、リストにオブジェクトを返します。 2. FLATビジネスオブジェクトが必要です。それを得るには、DTO変換を行う必要があります。フラットでは、ビジネスオブジェクトに含めることができる最も複雑なプロパティは文字列と数値(int、decimal、double)です。このような値を取得する予定がある場合は、 myObject.Customer.Nameを忘れてしまいます。 CustomerNameプロパティを作成します。 3.複数の場所からデータが必要な場合は、レポートをサブレポートに分割してください。データソースキーのキーを押して、レポートに返すデータを特定します。

私が覚えているように、さらに追加します。これを行ってから数ヶ月です。

0

はい私はそれを行っています。あなたのレポートを含むプロジェクトがSubSonicプロジェクトを参照していることを確認する必要があります(明らかに:)。

時には私は、Visual Studioが少しボークになり、SubSonic生成オブジェクトでデータソースウィンドウを再作成する前に再起動する必要があることも発見しました。

関連する問題