Мы используем CR с Visual Studio 2010 для нашего приложения.
Ниже приведен код, который я использую для генерации отчета из коллекции объектов, полученных из Webservice.
SampleReport report = new SampleReport();
report.SetDataSource(response.Items);
Затем на уровне WPF я назначаю источник отчета зрителю.следующим образом.
this.reportViewer.ViewerCore.ReportSource = report;
Проблема в том, что он запрашивает у меня учетные данные для входа.Что я считаю интересным, так как вся информация для создания отчета готова для получения из коллекции, назначенной источником данных.
Дайте мне знать, какими могут быть эти учетные данные.или как переопределить поведение.
Примечание. Дизайнер разработал файл .rpt из xml, предоставляемый службой WCF.
Я искал решения на форумах, у них не так много информации, кроме следующих:
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
CrystalDecisions.CrystalReports.Engine.Tables CrTables ;
crConnectionInfo.ServerName = "YOUR SERVER NAME";
crConnectionInfo.DatabaseName = "YOUR DATABASE NAME";
crConnectionInfo.UserID = "YOUR DATABASE USERNAME";
crConnectionInfo.Password = "YOUR DATABASE PASSWORD";
CrTables = report.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
Проблема в том, что я могу понять, буду ли я подключаться к БД дляполучить данные ... Но получение данных из коллекции объектов не должно требовать учетных данных.