SSRS报告参数自定义数据类型
问题描述:
我们的ASP.Net应用程序连接到SSRS 2008 Web服务。SSRS报告参数自定义数据类型
类别和报告在我们的应用程序的树视图中列出,从调用中填充以从Web服务检索报告列表。
当用户选择报告时,将检索报告的参数,并为参数数据类型提供适当的控制。即日期/时间数据类型的日历,字符串数据类型的文本框等。 用户在VS报表查看器中输入参数值和报表呈现
以上所有工作都正常。
问题是我们的一些报告有地理空间参数。即我们的一些报告将具有需要用户在地图上选择区域的参数,并且所选形状[多边形等]将是参数的值。 [它可以作为一系列XY coardinates传递给报告,但实现在这里并不重要]。
为了确定地图链接需要显示GeoSpatial参数,我们有2个选项。
选项1.创建新的SSRS报告参数数据类型[首选项] 当设计的报告创建新参数并且在选择参数数据类型后,将会有一个名为Spatial的新自定义数据类型[除了现有数据类型浮点数,布尔值,文本等]
选项2.命名带有已知前缀的参数。即Geo_ParameterName [简单] 报告设计者[并不总是内部设计师]需要知道前缀对我们的应用程序有特殊意义,并在适当时使用它。
有没有人有关是否可能选项1的任何想法。即使可能,也可以轻松部署这个选择。
由于提前,
利亚姆
答
我不认为它是可能的。
RDL模式在此处详细介绍,仅限于5个标准值。看起来即使CLR类型也被映射到其中之一。
<xsd:complexType name="ReportParameterType">
<xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element name="DataType">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Boolean" />
<xsd:enumeration value="DateTime" />
<xsd:enumeration value="Integer" />
<xsd:enumeration value="Float" />
<xsd:enumeration value="String" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
方案2有显著前缀命名的参数]似乎是唯一的选择。
利亚姆
答
可以使用自定义的数据类型,但你需要部署大会,定义这些类型的SSRS服务器。然后,您还必须将该程序集提供给为您创建报告的任何人。
谢谢你的本杰明。 – Liam 2010-08-17 16:11:47