【问题标题】:Why are partial class properties not shown on report datasource in C#?为什么在 C# 中的报表数据源上不显示部分类属性?
【发布时间】:2014-04-05 18:47:01
【问题描述】:

我有一个在 C# 应用程序中使用的 Web 服务。为了能够查看类中的子属性,我定义了一个像这样的部分类:

public class Client{
   public int Id {get; set;}
   public int Name {get; set;}
   ...
]
public partial class ClientDiagnose{ /* this class is auto-generated from service */
   public Client client{get; set;}
   ... 
}
public partial class ClientDiagnose{
   public int ClientId {
      get { return client.Id; }
   }
   public string ClientName {
      get { return client.Name; }
   }
}

当我将业务对象 (ClientDiagnose) 作为数据源添加到 rdlc 报告时,它仅显示从服务生成的属性,而没有显示 ClientId 或 ClientName。

我做错了什么?什么不见​​了?

【问题讨论】:

    标签: c# partial-classes


    【解决方案1】:

    重建解决方案并重试。如果可能,请删除 RDLC 报告,重新构建解决方案并重新创建 RDLC 报告。

    【讨论】:

      【解决方案2】:

      哇,这太旧了。我发现了相同的行为,所以如果有人有真正的解决方案,我很乐意看到它。

      您可以在添加数据集后手动添加扩展属性。使用 XML 编辑器打开 RDLC 报告并找到数据集。手动添加字段。

          <Field Name="ClientId">
            <DataField>ClientId</DataField>
            <rd:TypeName>System.Int32</rd:TypeName>
          </Field>
          <Field Name="ClientName">
            <DataField>ClientName</DataField>
            <rd:TypeName>System.String</rd:TypeName>
          </Field>
      

      保存文件,然后在设计器中重新打开。您现在可以使用附加字段,它们的行为与您在本地报告中所期望的一样。如果刷新数据集,则这些字段将丢失。您需要手动重新添加它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-02
        • 2010-09-20
        相关资源
        最近更新 更多