我有旧的 C# 项目,它是使用 Report Viewer 8.0.50727.42 的 .Net 2.0,我将其导入 Visual Studio 2010,将其更改为使用 .Net 3.5 和 Report Viewer 10.0.40219.1,除了一份报告中的一份报告之外,一切似乎都正常数据列显示#Error 而不是值。
该数据库是一个 SQL compact 3.5 SDF 文件。
它是什么,我有一个要显示的事件类列表,每个事件都有一个 EventType 类的属性。
因此,对于 Type 列,我将以下内容作为 rdlc 中的表达式:
=Fields!EventType.Value
在我的 EventForm 中,我在 DataSources.Add() 函数处放置了一个断点。它看起来像这样:
ReportDataSource reportDataSource = new ReportDataSource("Manager_Base_Event", bindingSource);
reportViewer.LocalReport.DataSources.Add(reportDataSource);
当它在那里中断时,我可以在堆栈中看到我想要的数据,但正如我所说,它显示#Error 并且不幸的是,据我所知,它并没有给我一个理由。
我尝试将 [Serializable()] 放在 Event 和 EventType 类上,但没有帮助。
有谁知道我如何才能更好地调试它以获得数据未显示的确切原因,或者可能已经知道它为什么不显示?
让我感到困惑的是,我在其他报告中与其他班级做同样的事情,而且没有任何问题,所以我不确定为什么这不起作用。
如果重要的话,我在 [TypeConverter(typeof(EventTypeTypeConverter))] 的 EventType 类上有一个属性
我认为这可能是相关的,但我找不到任何东西来确认这可能会导致问题。