これは、以前のクエリの 1 つ ( C /CLI でのアクティブなレポート) の続きです。C++/CLI アプリケーションから xml ベースのアクティブ レポートにアクセスしています。C++/CLI からアクティブなレポートとデータ通信を行う方法はありますか? たとえば、アプリケーションがアクセスする XML レポートの詳細セクションに、C++/CLI アプリケーションに存在する管理データを出力したいと考えています。 . C# コードを使用したくありません。それはできますか?ありがとう。
1 に答える
確かに、ActiveReports はそれを行うことができます。C++/CLI は標準の .NET オブジェクトを生成するため、C++/CLI でオブジェクトを作成すると、ActiveReports がそれらにバインドされます。バインドするオブジェクトの IEnumerable コレクションを作成します (コレクション内の各オブジェクトは、データベースの "行" のようなものです)。
Binding Reports to a Data Sourceの例を見てください。「IEnumerable データ ソースを使用するには」という見出しの下のコード セクションを展開すると、C# でそれを行う方法がわかります。C++/CLI でもまったく同じことを行います。構文を C# から C++/CLI に変更するだけです。明らかに、あなたは C++/CLI 構文を知っているので、その部分を実行できますが、これは ActiveReports でこれを行う方法に関する質問への回答だと思います。
コメントで尋ねられた質問に基づいて更新します。
次のコードのようなものを使用して、 FetchData イベントなどの ActiveReports のイベントを処理できるはずです。
void MyFetchDataHandler(Object^ sender, FetchEventArgs^ eArgs)
{
//put handling code here...
}
myReport->FetchData += ref new FetchEventHandler(this, &MyClass::MyFetchDataHandler)
私はこれをコンパイルしませんでしたが (私は AR を手元に持っていません)、近いはずです。C++/CLI イベント構文に関する Microsoft のリファレンス ドキュメントを参照してください。