问候。
我有一个RDLC文件,我想要为它添加一个数据源,尽管到目前为止没有任何运气。数据源是我自己编写的自定义类(只是添加,我们一直这样做)。我们最近转换为VS2010 RDLC格式,这导致了一些问题,但我们已经对我们的实施做了一些更改,以解决更重要的问题。
所以,回到手头的问题,当我尝试将我的数据源添加到VS2010的RDLC视图中的DummyDataSource列表时,它什么都不做,但它确实将数据源添加到数据源列表中,但是您无法从RDLC视图的下拉列表中选择它,这意味着我根本无法添加数据源。
有没有人遇到过这个问题?有什么我需要检查的吗?我热情地搜索,没有运气。
答案 0 :(得分:18)
这里似乎有一点黑魔法。或者至少我没有弄清楚所有的咒语是否可靠地实现这一点。
我想我遇到了类似的问题。不确定这是否会对你有所帮助,但这就是我如何解决它。
在VS2010报告设计器中,使用view-> Report Data显示Report Data窗格。
单击“新建”按钮并选择“数据集...”以获取“数据集属性”对话框。
为数据集命名,如果您之前已经完成此操作,您可能知道此处的数据集名称需要与绑定ReportDataSource时代码中提供的名称相匹配。
我刚试过的新部件是点击数据源下拉列表旁边的新建...按钮。生成的向导将引导您选择程序集和CLR类(使用复选框选择您的类)。
向导完成后,我的新数据集出现了。
有一点需要注意:第一次尝试重现此操作时,向导已完成,但未添加我的数据集。我回到我的班级定义并用 [DataContract] 和 [DataMember] 属性进行装饰,然后重新运行向导,它看起来效果很好。
也许具有更深层知识的人可以评论为什么这些属性能够使这项工作成功,或者为什么没有它们就会无声地失败。
答案 1 :(得分:15)
您的数据源对象必须包含本机数据类型作为类的属性,否则不允许您添加它。好笑,呃!
答案 2 :(得分:1)
我无法添加数据源,在按照向导(新按钮)后,数据源没有出现在下拉列表中。 我所做的是添加一个具有基本类型VS类的属性,然后继续显示正确的数据源。
奇怪的是必须这样做,但我找到了另一种方式。
答案 3 :(得分:1)
如果您正在使用存储过程,请使用没有源表/函数的一行选择替换过程内的所有内容。我无法使用从临时表或普通表返回数据的存储过程。
答案 4 :(得分:0)
我已经看到当存储过程中的最终选择从临时/内存表中拉出时会发生这种情况。您必须通过添加虚拟选择0 AS mycol1int,'AS mycol2string等来伪造设计师。一旦创建了数据集,您就可以删除该虚拟选择。 VS中另一个奇妙而神奇的功能!他们拥有数据库,他们拥有IDE,但是......
答案 5 :(得分:0)
如果ReportData上没有显示添加的数据源对象,则: 1.右键单击rdlc,然后单击打开 2.选择xml编辑器 3.手动添加所需的数据集。
在刷新ReportData之后,您将在列表中看到数据源对象。