передача данных из XML
Вот такой вопрос. Если не использовать подключение к базе данных в репорте, а передавать уже выбранные данные в формате XML. То можно ли эти данные как-то отобразить в отчете?
Может конечно придется первоначально из этого XML перевести в обычный статический вид все данные, полученные из базы?
И какими ссредствами это делать? IfrxUserDataSet? Туда все закидывать?
Может конечно придется первоначально из этого XML перевести в обычный статический вид все данные, полученные из базы?
И какими ссредствами это делать? IfrxUserDataSet? Туда все закидывать?
Комментарии
У меня создаётся впечатление, что когда Вы задаёте вопрос, то уже знаете на него ответ
Пока что IfrxUserDataSet - единственное решение.
Насколько я помню, Вы используете Visual C++?
В настоящее время такие работы ведутся для .NET версии. Возможно что когда эта работа будет закончена, Вы сможете использовать .NET assembles в Ваших C++ проектах.
Просто я обнаружила пример, где используется свой набор записей и все это динамически передается в IfrxUserdataSet (пример так и называется UserDataSet).
Но там так замудрено. Пыталась поэксперементировать с этим кодом. Не могу пока во многом разобраться.
Вот и хотела надеяться, что есть еще какие-нибудь способы передачи данных.
Сегодня разбавил этот пример комментариями. Надеюсь, теперь он читается гораздо легче.
Смысл примера в том, что для пользовательского датасета создаются два объекта - один для управления, другой для обработки событий.
Объект для обработки событий реализован через ATL обёртку для IDispatch.
Т.е. проще всего взять из примера класс CfrxUserDataSetEvents и переписать в нём пять методов: OnFirst, OnNext, OnPrior, OnCheckEOF и OnGetValue.
Кстати, побочным эффектом правки CfrxUserDataSetEvents является возможность не переводить данные в статическую форму, а выбирать их
из того же XML непосредственно в методе OnGetValue().