1

我正在使用 Visual Studio Reporting Services 创建具有对象绑定(而不是 SQL 数据库)的报表。我创建了以下包含需要导入的对象的类:

public class Paper 
 { 

int m_grade;

public Paper()
        {
          m_grade = 1000;
        }

public int Grade
        {
            get { return m_grade; }
        }
}

当我最初将我的报告绑定到这个类时,这很好用。但是,如果我向此类添加更多方法,例如:

 public Paper()
     {
     m_grade = 1000;
     int m_mydummy1 = 12;
    }

并添加另一个属性

    public int MyDummy
    {
    get {return m_dummy1;}
    }

它不会在报告向导自动生成的数据集中得到更新,因此我无法将更多数据/方法添加到报告中嵌入的报告表中。如果我在父类中添加另一个类,也会发生同样的情况。

有没有办法绕过这个最好不用写代码?

谢谢!

4

3 回答 3

3

这些步骤对我有用:

  1. 删除数据集
  2. 关闭并重新打开 Visual Studio
  3. 再次添加数据集

我正在使用 VS 2013 终极版。

于 2015-07-29T02:55:14.740 回答
2

固定的。问题在于 Visual Studio 无法更新内部生成的表/图表/等数据集。要更新它们,请转到报告。当报告处于活动状态时,“报告”菜单将显示在菜单栏中。转到查看->报告数据。这将打开一个侧窗格,其中包含内部使用的数据集。右键单击要更新的数据集,然后单击刷新。此窗格还可用于添加新数据集以组织图表、表格等的数据。

于 2013-05-24T16:43:42.710 回答
1

使用 .Net SQL Server Reporting Services 报表时,我们经常使用对象作为数据源,但有时对象中新添加的属性在报表的 DataSet 中不可见 以下是我为报表修复此问题所遵循的步骤:

  1. 在 Visual Studio 中打开报表,然后显示报表数据窗口 - 查看 - 报表数据或 Ctrl-Alt-D。
  2. 展开 DataSources 和 DataSets 分支。
  3. 右键单击您正在使用的数据集并选择刷新。
  4. 如果这没有引入新字段,请对包含您的对象的项目进行清理和重建,然后重试。
  5. 如果这不起作用,请删除并重新添加 DataSet,确保在运行时将报表绑定到 DataSource 的任何逻辑都像以前一样调用它。
  6. 如果以上所有方法都不起作用,请删除 DataSet,然后将所有 DataSources 也删除,然后再次重新添加 DataSet。

如果您想深入了解报表是如何连接的,请在报表项目中搜索 <TablixCell>,它将带您进入 rdlc(报表定义语言 - 客户端)文件,似乎没有即使您显示所有文件,也可以另一种方式打开它,除非您从资源管理器中打开它。如果您然后搜索您的数据集名称,您将看到我将解释的几个步骤:

  1. 您可以看到 DataSet 名称引用了 DataSource 名称,而这又引用了 DataSourceID。
  2. 如果您查看包含您的对象的项目的属性,然后选择程序集信息,您将看到 DataSourceID 是显示在页面底部附近的 Guid。
  3. 看起来 Visual Studio 在这里有某种错误(希望由 SP1 解决),这些绑定会被破坏。删除和重新添加所有内容清除了所有冗余的数据源似乎可以解决这个问题。 

<Da​​taSources>
 <DataSource Name=" CodeGeneratorData ">
  <ConnectionProperties>
   <DataProvider>System.Data.DataSet</DataProvider>
   <ConnectString>/* 本地连接/</ConnectString>
  </ConnectionProperties>
 <rd:DataSourceID> fc9a4d7c-55c6 -4f10-9e21-7c9eb5ef7996 </rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
 <DataSet Name=" CodeGeneratorDataSet ">
  <Query>
   <Da​​taSourceName> CodeGeneratorData </DataSourceName>
   <CommandText>/
本地查询 */</CommandText>
  </Query>

 

于 2014-01-09T10:16:01.107 回答