2013-11-10 2 views
0

Это продолжение к одному из моих предыдущих запросов (active reports in C /CLI). Я обращаюсь к активному отчету на основе xml из приложения C++/CLI. Есть ли способ, с помощью которого у меня может быть обмен данными с активным отчетом из C++/CLI, например, я хочу напечатать управляемые данные, присутствующие в приложении C++/CLI, в разделе сведений XML-отчета, к которому обращается приложение , Я не хочу использовать какой-либо код C#. Это можно сделать? Благодарю.C++/CLI - активные отчеты на основе XML

+0

Вам нужно будет найти генератор отчетов, который поддерживает привязку к C++/CLI. Это будет долгим и, вероятно, бесплодным усилием, ни один из поставщиков компонентов не считает, что поддержка этого имеет смысл, когда языковой интерфейс в .NET работает так хорошо. –

ответ

0

Конечно, ActiveReports может это сделать. Поскольку C++/CLI создает стандартные объекты .NET, вы можете создавать объекты в C++/CLI, и ActiveReports связывается с ними. Создайте коллекцию объектов IEnumerable, к которой вы хотите привязать (каждый объект в коллекции похож на строку базы данных).

Взгляните на примеры на Binding Reports to a Data Source. Разверните разделы кода под заголовком Чтобы использовать источник данных IEnumerable, вы увидите, как это сделать на C#. Вы бы сделали то же самое в C++/CLI, вы просто измените синтаксис с C# на C++/CLI. Очевидно, что вы знаете синтаксис C++/CLI, чтобы вы могли сделать эту часть, но я думаю, что это отвечает на ваш вопрос относительно того, как это сделать с помощью ActiveReports.

Обновление на основе вопрос, заданный в комментариях:

Вы должны быть в состоянии обрабатывать СОБЫТИЕ ActiveReports', такие как FetchData event используя что-то вроде следующего кода:

void MyFetchDataHandler(Object^ sender, FetchEventArgs^ eArgs) 
{ 
//put handling code here... 
} 

myReport->FetchData += ref new FetchEventHandler(this, &MyClass::MyFetchDataHandler) 

я не сделал скомпилируйте это (у меня нет AR-кода), но он должен быть близок. См. Microsoft's reference documentation on C++/CLI event syntax here.

+0

@Scott Я просмотрел пример и попытался создать простой аналогичный пример в C. ++/CLI. Но как мы получаем доступ к функциям DataInitialise и FetchData отчета в C++/CLI? Благодарю. – Charan

+0

Я добавил больше подробностей к ответу. –

+0

Спасибо, Скотт! Это сработало. – Charan

Смежные вопросы