1

わかりましたので、これがどこかのパッケージに存在するかどうか、または自分でロールする必要があるかどうかはわかりません(これは本当にしたくありません)。基本的に私が探しているのは、タスク マネージャーをほぼ反映したレポート タイプのシステムです。これは、私が考えることができる最良の例です。

データが変更されたときにビジネス ロジックをサブスクライブしているクライアントに戻す WCF サービスがあります。そのため、クライアントにイベントが発生するたびにそのレポートを更新したいと考えています。

新しい .rdlc を作成してビルドを開始しましたが、実際に達成しようとしていることは非常に面倒で重いようです。基本的なレポートは私の唯一のオプションですか?

編集

私の質問は少し誤解を招くかもしれません。ライブで更新できるレポートが存在する場合、代替手段を探しています。

ありがとう

編集 2

Visual Studio 内でレポートを使用したくありません....レポートに代わるものを探しています。誤解を招いて申し訳ありません。

4

1 に答える 1

3

WCF で wsDualHttpBinding を使用している場合は、コールバックをクライアントに送信できます。次に、クライアント オブジェクトは、他のフォームまたはオブジェクトがサブスクライブして更新の通知を受けることができるイベントを発生させることができます。

従来のバインドを使用している場合でも、フォームまたはレポートをサブスクライブできるクライアント オブジェクトからイベントを発生させることができます。

編集:

私の言っていることが理解できないので、もう少し詳しく説明します。

  1. 質問で .rdlc を暗示しているため、ReportViewer を使用しているようです。特にそれが質問の焦点である場合は、それを明示する必要があります。
  2. あなたのデータは WCF サービスから配信されると述べています。これは、レポートの更新方法について質問する際に重要な事実です。
  3. あなたのクライアントはこのサービスに加入していると言いました。よし、邪魔にならないようにした。
  4. あなたの質問は、「基本レポートが唯一の選択肢ですか?」というものでした。

したがって、私の答えは「いいえ、イベントを使用して非常に簡単に基本的なレポート (またはその他のオブジェクト) を更新できます。その方法は次のとおりです。

コールバックが呼び出されたら (または、デュアル通信を使用していない場合はクライアントがサーバーにヒットしたら)、ReportViewer オブジェクトを含むフォームがサブスクライブするイベントを発生させる必要があります。フォームがそのイベントの通知を受け取ったら、呼び出してレポートを強制的に更新する必要があります。reportViewer.RefreshReport();

于 2012-05-18T16:17:57.023 に答える