7

ReportViewerasp.net MVCプロジェクトに統合するにはどうすればよいですか?

MVCProject.Model名前空間のビジネスオブジェクトを追加したい。ReportViewerDataSetのビジネスオブジェクトを許可します。

のような他のデータソースを選択したりLinqDataSource、オブジェクトをLINQ-to-SQLクラスオブジェクトに直接送信したりすることはできますか?

MVCプロジェクトにレポートを追加するための最良のソリューションは何でしょうか?

4

4 に答える 4

2

テストされていませんが、うまくいくかもしれないという考えがありました。1- レポート ビューアー コントロールを標準の ASP.Net Web フォーム ページ (ReportViewer.aspx など) に配置します。 2- MVC の下に、この ReportViewer.aspx ページを参照する iframe を追加します。 3- セッションまたはクエリ文字列を使用してパラメーターをページに渡します。

これが機能するかどうか教えてください

于 2009-11-21T10:55:43.757 に答える
2

これを行う別の方法は、レポート サーバーでレポートを生成し、それを PDF として mvc アプリにストリーミングすることです。

于 2009-09-17T21:03:03.673 に答える
1

大変ですよね。まず、ViewState が必要なので、通常の WebForms ページでレポートをホストする必要があります。ただし、これはそれほど悪くはありません。WebForms と MVC は並行して正常に動作します。

難しい部分は、実際の IEnumerable オブジェクトにバインドすることであり、これらのばかげた ObjectDataSource にはバインドしません。

最初のステップは、レポート データ モデルを構築することです。必要に応じて、クエリを使用してコードでこれを行うことができます。このような構造 (ただし、明らかにはるかに大きい) が典型的です。

public class ReportSource
{   
   public Floogle[] Floogles { get; set; }
}

public class Floogle
{
    public Doodad[] Doodads { get; set; } 
    public string Text { get; set; }
}

public class Doodad
{
    public int Number { get; set; }
}

秘訣は、レポートで BindingSource コントロールを使用し、DataSource プロパティをtypeof(ReportSource)- はい、データ ソースはレポート モデルのタイプに設定することです。

レポートをデザインするとき、多くの情報が得られるわけではありませんが、それは可能です。

サード パーティのレポート ソリューションに関する限り、Telerik が最適なオプションであることがわかりました。

于 2009-05-19T12:38:00.827 に答える
0

レポート付きのmvcプロジェクトであるcodeplexで投げた小さなプロジェクトがあります。

http://mvctaskmanagement.codeplex.com/

基本的に、私は XP ボックスで開発を行っているため、Web フォームを別のプロジェクトにプッシュする必要がありました。私はサービス層プロジェクトを持っているので、そこに貼り付けました。

そこから、パラメーターをレポート ページに送信する ajax ポストを介してレポートを呼び出し、プレビューの生成に使用されたのと同じサービス レイヤーに渡します。

幸運を!

于 2009-09-25T03:21:33.993 に答える