У меня есть приложение, в котором есть btn для предварительного просмотра отчета в Crystal Report.Я добавил набор данных в качестве источника данных отчета, перетащил их с панели инструментов и добавил необходимые поля в виде столбцов.Я получил инструкцию по этой ссылке http://aspalliance.com/2049_Use_LINQ_to_Retrieve_Data_for_Your_Crystal_Reports.2. Это мой второй отчет, первый работает и не сталкивался с какой-либо проблемой, поэтому я запутался, не говоря уже о том, что в нем также есть столбец, который можно обнулять.ошибка говорит: DataSet не поддерживает System.Nullable <>.
private void ShowReportView()
{
string reportFile = "JudgeInfoFMReport.rpt";
ObservableCollection<tblJudgeFileMaint> judgeFileMaintList;
judgeFileMaintList = GenerateReport();
if (judgeFileMaintList.Count > 0)
{
CrystalReportViewerUC crview2 = new CrystalReportViewerUC();
crview2.SetReportPathFile(reportFile, judgeFileMaintList);
crview2.ShowDialog();
}
else
{
System.Windows.MessageBox.Show("No record found.", module, MessageBoxButton.OK, MessageBoxImage.Information);
}
}
private ObservableCollection<tblJudgeFileMaint> GenerateReport()
{
var result = FileMaintenanceBusiness.Instance.GetAllJudgeInfoList();
return new ObservableCollection<tblJudgeFileMaint>(result);
}
Ошибка в той части, где я устанавливаю отчет источника данных. SetDataSource
public bool SetReportPathFile(string reportPathFile, IEnumerable enumerable)
{
string reportFolder = @"\CrystalReportViewer\Reports\";
string filename = System.Windows.Forms.Application.StartupPath + reportFolder + reportPathFile; // "\\Reports\\CrystalReports\\DateWiseEmployeeInfoReport.rpt";
ReportPathFile = filename;
report.Load(ReportPathFile);
report.SetDataSource(enumerable);
report.SetDatabaseLogon("sa", "admin007");
bRet = true;
}
_IsLoaded = bRet;
return bRet;
}
Я прочитал некоторые ответы и сказал, что я должен установить нулевое значение DBNUll, что я сделал в окне свойств каждого столбца, если он обнуляем.Кто-нибудь может мне помочь?спасибо