#reporting-services #nested #reportviewer #rdlc
#службы отчетов #вложенный #просмотр отчетов #rdlc
Вопрос:
у меня есть отчет, в котором я отображаю некоторые значения подклассов. Для некоторых это работает хорошо, но не для других, и я не знаю почему. Модели :
[Serializable]
public partial class CompanyProvider
{
public int CompanyProviderId { get; set; }
public string CompanyNo { get; set; }
public string LPID { get; set; }
public string VATNo { get; set; }
public int? CompanyProviderAddressId { get; set; }
[ForeignKey("CompanyProviderAddressId")]
public virtual CompanyProviderAddress CompanyProviderAddress { get; set; }
public int? CompanyProviderAddressBillingId { get; set; }
[ForeignKey("CompanyProviderAddressBillingId")]
public virtual CompanyProviderAddressBilling CompanyProviderAddressBilling { get; set; }
public int? CompanyProviderContactManagerId { get; set; }
[ForeignKey("CompanyProviderContactManagerId")]
public virtual CompanyProviderContactManager CompanyProviderContactManager { get; set; }
public int? CompanyProviderBankId { get; set; }
[ForeignKey("CompanyProviderBankId")]
public virtual CompanyProviderBank CompanyProviderBank { get; set; }
...
}
[Serializable]
public partial class CompanyProviderBank
{
public int CompanyProviderBankId { get; set; }
public int? BankId { get; set; }
public virtual Bank Bank { get; set; }
public string Postcode { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
}
[Serializable]
public partial class CompanyProviderAddress
{
public int CompanyProviderAddressId { get; set; }
public string Postcode { get; set; }
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
public string City { get; set; }
}
Это работает для CompanyProviderAddress и CompanyProviderAddress, которые имеют только «простые» свойства (string, int …), Но это не работает для CompanyProviderContactManager и CompanyProviderBank, которые имеют сложные свойства (например, Bank для CompanyProviderBank).
Все сериализуемо, это работает в моем отчете :
=First(Fields!CompanyProviderAddress.Value.City(), "CompPro")
Но это не работает, дайте мне #Error
=First(Fields!CompanyProviderBank.Value.City(), "CompPro")
Есть идеи? Или, может быть, кто-то знает, как получить более подробную информацию о #error, что-то более явное?
Спасибо
Комментарии:
1. Поля инициализированы и имеют значение?
2. Да, я попытался отобразить Город, например, в параметре, и это работает, значение отображается с параметром… :/
3. Странно.. Выдает ли это ошибку при попытке показать объект (CompanyProviderAddress. Значение или CompanyProviderBank. Значение)?
4. Да, оба выдают ошибки. Это нормально?
Ответ №1:
Возможно, ваши объекты null
. Вы можете проверить, имеют ли они значение null следующим образом:
=IIF(IsNothing(First(Fields!CompanyProviderBank.Value.City)), 0,First(Fields!CompanyProviderBank.Value.City))
Я не совсем уверен, что приведенное выше указано в правильном синтаксисе, пожалуйста, дайте мне знать, если это не так.