Как отладить ошибки выражения Rdlc - C # - PullRequest
0 голосов
/ 05 ноября 2018

Из чтения нескольких вопросов и ответов здесь, в SO, я знаю, что IIF выполняет и истину, и ложь. Кажется, я не понимаю, как правильно проверять и обрабатывать нуль.

Вот пара утверждений, которые я пытался дать # Ошибка,

=switch(
        First(Fields!ShelfLife.Value, "DQA")="N/A", "N/A",
        First(Fields!ShelfLife.Value, "DQA")<>"N/A", (FormatNumber(First(Fields!ShelfLife.Value, "DQA"), 1))
    )

=IIf(
    First(Fields!ShelfLife.Value, "DQA")="N/A",
    "N/A",
    IIf(
        IsNothing((First(Fields!ShelfLife.Value, "DQA"))),
        "Test",
        (FormatNumber(First(Fields!ShelfLife.Value, "DQA"), 1))
    )
)

Есть ли способ получить какое-то сообщение о том, что проблема для утверждения? Не менее важно, как я могу решить полученную ошибку?

1 Ответ

0 голосов
/ 07 ноября 2018

Мы столкнулись с такой проблемой некоторое время назад. Это не было и не совсем идеально, но наша работа заключалась в передаче двух источников данных в отчет следующим образом:

this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("first",  Source1 as DataTable));
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("second",  Source2 as DataTable));

Чтобы объяснить это далее, Source1 и Source 2 идентичны. Перед строками выше, сделайте некоторую проверку и манипулирование Source1. Поэтому выражение должно выглядеть так:

=switch(
        First(Fields!ShelfLife.Value, "DQA1")="N/A", "N/A",
        First(Fields!ShelfLife.Value, "DQA1")<>"N/A", (FormatNumber(First(Fields!ShelfLife.Value, "DQA2"), 1))
    )
...