【问题标题】:How do I access a subclass's fields in RDLC?如何访问 RDLC 中的子类字段?
【发布时间】:2020-04-27 04:00:54
【问题描述】:

我有一个名为 Orders 的类,它包含三个字段: 订单 ID(整数) 订单日期(日期时间) 详情(列表)

其中 Widget 是用户定义的类,包括: 小部件ID (int) 名称(字符串) 数量(整数)

Orders 类的代码是:

using System;
using System.Collections.Generic;

namespace MySolution
{
    public class Orders
    {
        public int OrderID
        {
            get;
            set;
        }
        public DateTime OrderDate
        {
            get;
            set;
        }
        public List<Widget> Details
        {
            get;
            set;
        }

        public Orders()
        {
        }
    }
}

Widget 类的代码是:

using System;
using System.Collections.Generic;

namespace MySolution
{
    [Serializable()]
    public class Widget
    {
        public int WidgetID
        {
            get;
            set;
        }
        public string Name
        {
            get;
            set;
        }
        public int Quantity
        {
            get;
            set;
        }

        public Widget()
        {
        }
    }
}

但是,当我在 RDLC 中从另一个返回列表的类中的方法创建数据集时, 使用“Fields!Details.Value.WidgetID”不起作用,即使 Widget 是可序列化的。

有没有办法直接访问订单行的详细信息的 WidgetID 值(例如)?

Details 是 List 的事实与它有关吗?在这种情况下我需要子报告吗?

【问题讨论】:

  • 要动态创建rdlc吗?

标签: .net rdlc


【解决方案1】:

实际上,我“认为”我的问题与我的 Visual Studio 安装有关 - 每当报表具有包含自定义类字段的数据集时,ReportViewer.LocalReport.Render 就会挂起,它会加载(然后卸载,然后重新加载)一些 DLL,包括 System.Runtime.Serialization,然后挂起。 VS DLL 和我在应用程序中引用的 Microsoft.ReportViewer.* DLL 的版本之间可能存在一些不匹配。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-23
    • 2011-05-29
    • 2019-03-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多