powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Непередача параметров в RS-отчет из VС++
7 сообщений из 7, страница 1 из 1
Непередача параметров в RS-отчет из VС++
    #36469323
Xenopus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно передать два параметра в отчет RS. Используется Visual Studio 2005, элемент ReportViewer. В MSDN приведен пример для C#, он работает. При попытке изобразить это на С++ даже не компилируется.
Вариант 1
Код: plaintext
1.
2.
3.
4.
5.
 InitBase = gcnew Microsoft::Reporting::WinForms::ReportParameter();
InitBase->Name = "NameComp";
InitBase->Values->Add("Comp1");
InitBase->Name = "NameBase";
InitBase->Values->Add("Base1");
this->reportViewer1->ServerReport->SetParameters(InitBase);    
Выдает error C2664: 'void Microsoft::Reporting::WinForms::Report::SetParameters(System::Collections::Generic::IEnumerable<T> ^)' : cannot convert parameter 1 from 'Microsoft::Reporting::WinForms::ReportParameter ^' to 'System::Collections::Generic::IEnumerable<T> ^'

Вариант 2
Код: plaintext
 this->reportViewer1->ServerReport->SetParameters(gcnew Microsoft::Reporting::WinForms::ReportParameter(InitBase));
Выдает error C2248: 'Microsoft::Reporting::WinForms::ReportParameter::ReportParameter' : cannot access private member declared in class 'Microsoft::Reporting::WinForms::ReportParameter'
и error C2664: (та же, что и в варианте 1)'

Кто-нибудь может подсказать, что как пропихнуть эти параметры? Хелп ми!

ЗЫ Работающий код на на С#
Код: plaintext
1.
2.
3.
4.
Microsoft.Reporting.WinForms.ReportParameter[] parameters = new   Microsoft.Reporting.WinForms.ReportParameter[ 2 ];
            parameters[ 0 ] = new Microsoft.Reporting.WinForms.ReportParameter("NameComp", "Comp1");
            parameters[ 1 ] = new Microsoft.Reporting.WinForms.ReportParameter("NameBase", "Base1");
            this.reportViewer1.ServerReport.SetParameters(parameters);
...
Рейтинг: 0 / 0
Непередача параметров в RS-отчет из VС++
    #36477448
Xenopus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а платно проконсультировать кто-нибудь может? уперлась в это место, дальше никак :(
...
Рейтинг: 0 / 0
Непередача параметров в RS-отчет из VС++
    #36478806
LevS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в коде на C# аргумент SetParameters - это массив
в коде на C++ - скаляр
---
This posting is provided "AS IS" with no warranties, and confers no rights.
TechNet RU SQL форум
...
Рейтинг: 0 / 0
Непередача параметров в RS-отчет из VС++
    #36480529
Xenopus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LevS, скаляр=указатель?
...
Рейтинг: 0 / 0
Непередача параметров в RS-отчет из VС++
    #36483929
LevS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наверное нужно что-то типа

array < Microsoft::Reporting::WinForms::ReportParameter ^ > ^ InitBase = gcnew array < Microsoft::Reporting::WinForms::ReportParameter ^ > (2);

InitBase[0] = gcnew Microsoft::Reporting::WinForms::ReportParameter("NameComp", "Comp1");
InitBase[1] = gcnew Microsoft::Reporting::WinForms::ReportParameter("NameBase", "Base1");

this->reportViewer1->ServerReport->SetParameters(InitBase);
...
Рейтинг: 0 / 0
Непередача параметров в RS-отчет из VС++
    #36683191
Xenopus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не помогает :( как-то хитро нужно массив объявлять. продолжение тут:
http://sql.ru/forum/actualthread.aspx?tid=766421
...
Рейтинг: 0 / 0
Непередача параметров в RS-отчет из VС++
    #36705502
Xenopus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решение проблемы:

Код: plaintext
inp = gcnew array< Microsoft::Reporting::WinForms::ReportParameter^ >( 2 );\t\ninp[ 0 ] = gcnew Microsoft::Reporting::WinForms::ReportParameter;\ninp[ 0 ] ->Name ="NameComp"; \ninp[ 0 ]->Values->Add("Comp1");\ninp[ 1 ] = gcnew Microsoft::Reporting::WinForms::ReportParameter;\ninp[ 1 ] ->Name ="NameBase"; \ninp[ 1 ]->Values->Add("Base1");\nParam =\tgcnew List<Microsoft::Reporting::WinForms::ReportParameter^>((System::Collections::Generic::IEnumerable<Microsoft::Reporting::WinForms::ReportParameter^>^) inp);\t\nthis->reportViewer1->ServerReport->SetParameters(Param);

Не забываем объявлять:
using namespace System::Collections::Generic;

/topic/766421
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Непередача параметров в RS-отчет из VС++
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]