【问题标题】:RDLC - Adding a Data Source in VS2010RDLC - 在 VS2010 中添加数据源
【发布时间】:2010-12-29 12:23:16
【问题描述】:

您好。

我有一个 RDLC 文件,我想向它添加一个数据源,尽管到目前为止还没有任何运气。数据源是我自己写的一个自定义类(只是补充一下,我们一直都是这样做的)。我们最近转换为 VS2010 RDLC 格式,这会导致一些问题,但我们对实现进行了一些更改,以解决更主要的问题。

所以,回到手头的问题,当我尝试将我的数据源添加到 VS2010 的 RDLC 视图中的 DummyDataSource 列表中时,它什么也不做,但是它确实将数据源添加到了数据源列表中,但是您无法从 RDLC 视图的下拉列表中选择它,这意味着我根本无法添加数据源。

有人遇到过这个问题吗?有什么我需要检查的吗?我热心地寻找,但没有运气。

【问题讨论】:

    标签: visual-studio-2010 reporting-services reporting rdlc


    【解决方案1】:

    这里似乎有一点黑魔法。或者至少我还没有想出使这一切可靠地发生的所有咒语。

    我想我遇到了类似的问题。不确定这是否会对您有所帮助,但这是我解决它的方法。

    在 VS2010 报表设计器中,使用 view->Report Data 来显示 Report Data 窗格。

    单击“新建”按钮并选择“数据集...”以获取“数据集属性”对话框。

    为你的Dataset命名,如果你之前做过,你可能知道这里的dataset名字需要和你绑定ReportDataSource时代码中提供的名字相匹配。

    我刚刚尝试的新部分是单击“数据源”下拉列表旁边的“新建...”按钮。生成的向导将引导您选择程序集和 CLR 类(使用复选框选择您的类)。

    向导完成后,我的新数据集出现了。

    需要注意的一点:我第一次尝试重现此问题时,向导完成时未添加我的数据集。我回到我的类定义并用 [DataContract][DataMember] 属性装饰它,然后重新运行向导,它似乎工作得很好。

    也许有更深入的知识的人可以评论为什么这些属性可以工作,或者为什么没有它们向导会默默地失败。

    【讨论】:

    • “黑魔法”——我读过的关于 RDLC 报告中所有巨大错误的最佳描述......
    【解决方案2】:

    你的数据源对象必须包含一个原生数据类型作为类的属性,否则它不允许你添加它。有趣,嗯!

    【讨论】:

    • 很奇怪,但它就像一个魅力。希望没有人介意我的数据源上有一个名为 Foo 的无用 int... :)
    • 节省了我拉头发的时间。谢谢!
    • ...这绝对是狡猾的。谢谢!
    • 我对此进行了测试,它解决了我的问题。请务必在尝试再次添加数据源之前构建项目。
    【解决方案3】:

    我无法添加数据源,按照向导(新建按钮)后,数据源没有出现在下拉列表中。 我所做的是添加一个原始类型 VS 类的属性,然后继续显示正确​​的数据源。

    不得不这样做很奇怪,但我找到了另一种方法。

    【讨论】:

      【解决方案4】:

      如果您使用的是存储过程,请将过程中的所有内容替换为不使用源表/函数的一行选择。我也无法使用从临时表或普通表返回数据的存储过程。

      【讨论】:

        【解决方案5】:

        当您在存储过程中的最终选择从临时/内存表中提取时,我已经看到了这种情况。您必须通过添加一个虚拟选择 0 AS mycol1int、'' AS mycol2string 等来伪造设计器。创建数据集后,您可以删除该虚拟选择。 VS 中的另一个奇妙、绝妙的功能!他们拥有数据库,他们拥有 IDE,但是......

        【讨论】:

        • 对不起,这实际上是最糟糕的,你必须注释掉声明和使用内存表的代码,然后添加虚拟选择。叹息....
        【解决方案6】:

        如果添加的数据源对象未显示在 ReportData 上,则: 1.右键点击rdlc,点击打开方式 2.选择xml编辑器 3. 手动添加你需要的数据集。

        在此刷新 ReportData 后,您将在列表中看到数据源对象。

        【讨论】:

          猜你喜欢
          • 2019-01-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-08
          • 1970-01-01
          • 1970-01-01
          • 2011-02-24
          • 1970-01-01
          相关资源
          最近更新 更多