我的应用程序基于Windows窗体。我正在使用RDLC(版本15.3.1)创建报告。该报告应具有一个表,该表充满了我从DataGridView中获取的数据。
将数据从DataGridView传输到报表的过程如下。
List<OriginalPredicted> op = new List<OriginalPredicted>();
op.Clear();
for (int i = 0 ; i < mp.predResultsGridView.Rows.Count; i++)
{
op.Add(new OriginalPredicted { Original = (double)mp.predResultsGridView.Rows[i].Cells[0].Value, Predicted = (double)mp.predResultsGridView.Rows[i].Cells[1].Value });
}
ReportDataSource rds = new ReportDataSource("Dataset_Orig_Pred", op);
reportViewer.LocalReport.DataSources.Clear();
reportViewer.LocalReport.DataSources.Add(rds);
reportViewer.LocalReport.Refresh();
在此之前,我创建了一个由类实例组成的列表。该类的实现如下:
public class OriginalPredicted
{
public double Original { get; set; }
public double Predicted { get; set; }
}
问题是当我要添加数据集并选择一个对象作为数据源时,在“选择数据对象”窗口中找不到要使用的任何类(业务对象)。在项目树下只有“属性”项,但我希望也能看到我创建的类。 Image of "Select the data objects" window
我尝试了什么:
严格地针对x64体系结构的项目中依赖项的存在会影响数据源配置向导的行为吗?
我的项目使用版本控制系统。还会产生影响吗?
而且,我试图在干净的项目上重现该问题。在这种情况下,一切正常。不幸的是,我无法在其他地方重做该项目,因为这非常耗时。 Image of "Select the Data Objects" window after reproducing issue
谢谢。
我尝试过的第一个解决方案不是它的外观。我只是在搞弄Configuration Manager,这是不对的。答案隐藏得很好。因此,它与RDLC的位更相关。通常,真正的解决方案是在项目属性“目标平台”中将其设置为“ x64”,然后将其设置为“任何CPU”或“ x86”,然后检查是否选中了“首选32位”。 Image of "Project Properties"