powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CrystalReportviewer Login dialog при работе с типизированными датасетами.
3 сообщений из 3, страница 1 из 1
CrystalReportviewer Login dialog при работе с типизированными датасетами.
    #36552136
Mr. Blonde
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я хочу передавать в CR типизированный датасет никоим образом не связанный с базой данных.
Работаю с cr, которые поставляются вместе с VisualStudio 2008

1. Создаю типизированный датасет(xsd) самостоятельно(сам создаю таблицы, сам создаю в них поля)
2. В CrystalRport в DataBase Expert выбираю "Ado.NET DataSets" Выбираю свой датасет, создаю на его основе репорт.
3. В коде создаю экземпляр датасета, в тестовых целях ручками забиваю туда данные.
Код:
Код: plaintext
1.
2.
3.
4.
5.
6.
CrystalReportViewer crystalReportViewer = new CrystalReportViewer();
MainMonthlyReport mainMonthlyReport = new MainMonthlyReport();

MainMonthlyReportDS ds = new MainMonthlyReportDS();
// заполняю вручную
mainMonthlyReport.SetDataSource(ds)
crystalReportViewer.ReportSource = mainMonthlyReport;

4. Запускаю приложение. При появлении cristalReportViewer'a вылазит DataBase Login dialog.

Вопрос, откуда? Какой еще DataBase? И как избежать появления этого диалога? Я уже голову сломал и веь гугл перерыл, не могу найти решения, буду очень благодарен за любую подсказку. Спасибо!
...
Рейтинг: 0 / 0
CrystalReportviewer Login dialog при работе с типизированными датасетами.
    #36552592
В своё время решили это так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
private void ForceReportLogOn(ReportDocument report)
	{
		ForceLogOnInfo(report);

		for (int i =  0 ; i < report.ReportDefinition.ReportObjects.Count; i++)
		{
			CrystalDecisions.CrystalReports.Engine.ReportObject obj = report.ReportDefinition.ReportObjects[i];
			if (obj.Kind == CrystalDecisions.Shared.ReportObjectKind.SubreportObject)
			{
				ReportDocument subRep = ((SubreportObject)obj).OpenSubreport(((SubreportObject)obj).SubreportName);
				ForceLogOnInfo(subRep);
			}
		}
	}

	private void ForceLogOnInfo(ReportDocument report)
	{
		CrystalDecisions.Shared.TableLogOnInfo logonInfo = new TableLogOnInfo();

		for (int i =  0 ; i < report.Database.Tables.Count; i++)
		{
			logonInfo = report.Database.Tables[i].LogOnInfo;
			logonInfo.ConnectionInfo.ServerName = "";
			logonInfo.ConnectionInfo.DatabaseName = "";
			logonInfo.ConnectionInfo.UserID = "";
			logonInfo.ConnectionInfo.Password = "";
			report.Database.Tables[i].ApplyLogOnInfo(logonInfo);

		}
	}
В вашем случае так:
...
ForceReportLogOn(mainMonthlyReport);
crystalReportViewer.ReportSource = mainMonthlyReport;
...
Рейтинг: 0 / 0
CrystalReportviewer Login dialog при работе с типизированными датасетами.
    #36554511
Mr. Blonde
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Max Otto fon Shtirlic,
Спасибо, Все заработало!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / CrystalReportviewer Login dialog при работе с типизированными датасетами.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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