【问题标题】:#Error on Local Reporting#本地报告错误
【发布时间】:2015-04-03 03:10:33
【问题描述】:

我在使用本地报告的 RDLC 时遇到问题。我将“QOI”对象传递到报告中,并试图让它读取客户信息。

QOI 对象包含一个客户对象。此客户对象具有名字、姓氏、中间名、地址等字段。我需要检查 QOI 对象客户是否为空,如果不是,则将名字写入文本框。所以我一直在尝试这段代码......

=IIF(
    IsNothing(First(Fields!customer.Value, "QOI")),
    "Cash Sale", 
    First(Fields!customer.Value.firstName(), "QOI")
)

但这只会让文本框显示“#Error”,无论是否附加客户。所以,我尝试了这种方式。

=First(
    IIF(
        IsNothing(Fields!customer.Value),
        "Cash Sale", 
        Fields!customer.Value.firstName()
    )
    , "QOI"
)

但是如果没有客户,这会给我一个#Error,或者如果有客户,它会说“指定的操作无效”......但是,以下代码非常适合商店。

=First(
    IIF(
        IsNothing(Fields!store.Value),
        "Store Not Set", 
        Fields!store.Value.name()
    )
    , "QOI"
)

我检查了我的变量名,截获了对象并确保一切都是准确的......它似乎讨厌客户。这可能是什么原因造成的?

【问题讨论】:

    标签: reporting rdlc localreport


    【解决方案1】:

    我能找到的唯一解决方案是专门为此报告创建一个自定义对象,并使用一种方法来获取一个 QOI 对象并吐出一个 QOIReceipt 对象,该对象已经填充了所有内容。如果有人能看出我哪里出错了,请告诉我,否则自定义对象似乎是要走的路。

    【讨论】:

    • IIf 评估所有参数,因此如果任何参数产生错误,则整个函数将抛出错误。即:在第二个表达式中,如果 IsNothing(Fields!customer.Value) 则您无法访问他的 .firstName。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    相关资源
    最近更新 更多