gpt4 book ai didi

c# - 将 RDLC 数据源设置为对象的问题

转载 作者:IT王子 更新时间:2023-10-29 04:44:48 24 4
gpt4 key购买 nike

背景:

我的任务是将 Access 数据库应用程序转换为 ASP.Net C# MVC。这是我的第一个 MVC 应用程序。

有 10 个报告需要转换。我们正在使用 RDLC 文件和报告查看器。我正在使用带有所有最新补丁的 Visual Studio 2010。我们正在连接到已由现有 Access 数据库填充的 SQL Server 数据库,因此表结构几乎是固定不变的,否则我们将不得不尝试转换 10 年的数据。

除了两份报告,我已经完成了所有报告。最终报告需要更多处理,而不只是显示数据库中的数据。最简单的方法是创建一个 C# 对象并在服务器端进行所有处理,然后使用 RDLC 显示结果。

问题

我遇到的问题是 Visual Studio 无法将我创建的对象识别为潜在的数据源。每次我尝试“添加数据集”时,它都会弹出“数据源配置向导”,并且只提供 SQL Server 数据库作为可能的数据连接。我知道有一个屏幕允许您选择一个对象作为数据集,但我从未见过该屏幕。

以下是对象(为清楚起见删除了处理函数):

public class TurnAroundVal
{
// Registration Package information
public string dataType { get; set; }

// Calculated totals; values only set through constructor or calculation function
public int packageCount { get; private set; }
public int dayCount { get; set; }
public double avgTurnAround { get; private set; }
public int upperRange { get; private set; }
public int lowerRange { get; private set; }
}

public class TurnAroundVals
{
// Public Variables
public IEnumerable<TurnAroundVal> TurnArounds { get; private set; }
public DatePass dates { get; set; }
public int pkgTotal { get; private set; }
public double dayTotal { get; private set; }
public double avgAllTurnArounds { get; private set; }
}

我也愿意使用“TurnAroundVal”的 IEnumerable 作为数据源,并将日期、整数和 double 作为参数传递。两者都行。

问题

Visual Studio 2010 中是否缺少允许 RDLC 设计器查看我创建的对象的设置?我什至认为这将适用于我定义的类,我错了吗?

回答

给出的所有建议都很有帮助,但最终对我有用的是在同一个解决方案中创建一个临时的非 Web 项目并在那里创建 RDLC。当我去添加数据集时,它显示“对象”作为一个选项。您必须添加对您的 Web 项目的引用,以便您的对象可见,然后您可以选择您想要的对象并在 RDLC 中使用它。之后,您只需将 RDLC 文件拖放到您的 Web 项目中,删除临时项目,就可以了。请记住,您必须在代码中手动添加数据源,并且它们的名称必须与您在 RDLC 中指定的名称相同。

最佳答案

  1. 确保类与应用程序位于同一 namespace 中。
  2. 在创建报告之前尝试构建应用程序
  3. 启动报告向导。在 DataSouce 下,选择您的 Web 应用程序的名称。
  4. 在可用数据集下,您应该会看到 Visual Studio 将什么解释为您的“选择方法”。如果一切顺利,这应该是 TurnArounds。

您可能需要将类文件放在 App_Data 或 App_Code 文件夹中,但我不确定。

这也可能有帮助。

http://msdn.microsoft.com/en-us/library/ms251692%28v=vs.100%29.aspx

关于c# - 将 RDLC 数据源设置为对象的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11038288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com