У меня есть отчет, который я создал с помощью Crystal Reports 2008. Этот отчет использует более 40 параметров для управления макетом отчета. Все параметры являются логическими и по умолчанию имеют значение False в сохраненном отчете. Отчет сохраняется с сохранением данных с параметром отчета , не отмеченным , поскольку я хочу читать результаты из базы данных, а не из отчета.
Однако при экспорте отчета в PDF я получаю исключение ParameterFieldCurrentValueException. Я не получаю эту ошибку при сохранении данных вместе с отчетом.
Я подтвердил, что все пять таблиц в отчете связаны со своим источником данных с помощью следующего кода.
foreach (Table table in reportDoc.Database.Tables)
{
bool isConnected = table.TestConnectivity();
Console.WriteLine(table.Name + " connected? " + isConnected.ToString());
}
Что может вызывать ParameterFieldCurrentValueException, когда данные не сохраняются вместе с отчетом и экспортируются на диск?
Это самый простой код, который может воспроизвести эту проблему.
string report = "list_report.rpt";
string pdf = "list_report.pdf";
ReportDocument reportDoc = new ReportDocument();
reportDoc.Load(report);
// Setting parameters (or not) does not have an effect on the error
// All parameters have defaults
// reportDoc.SetParameterValue("hideRegion", false);
reportDoc.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, pdf);