2010-08-17 8 views
1

Notre application ASP.Net se connecte au service Web a SSRS 2008.Paramètres de rapport SSRS DataTypes personnalisés

Les catégories et les rapports sont répertoriés dans une arborescence de notre application remplie à partir d'un appel pour récupérer la liste des rapports du service Web.

Lorsqu'un utilisateur sélectionne un rapport, les paramètres du rapport sont récupérés et nous restituons le contrôle approprié pour le type de données du paramètre. C'est-à-dire Calendrier pour le type de données Date/Heure, zone de texte pour le type de données chaîne L'utilisateur entre les valeurs des paramètres et rend le rapport dans un VS Report Viewer

Tout ce qui précède fonctionne correctement.

Le problème est que certains de nos rapports ont des paramètres géospatiaux. i.e Certains de nos rapports auront des paramètres qui nécessiteront qu'un utilisateur sélectionne une région sur une carte et que la forme sélectionnée [Polygone etc] soit la valeur du paramètre. [Il peut être transmis au rapport sous la forme d'une série de co-aryates XY, mais la mise en œuvre n'est pas importante ici].

Nous avons 2 options pour déterminer qu'un lien cartographique doit être affiché pour un paramètre GeoSpatial. Option 1. Créer un nouveau type de données de paramètre de rapport SSRS [Option préférée] Lorsque le rapport conçu crée un nouveau paramètre et qu'un nouveau type de données personnalisé appelé Spatial est disponible en sélectionnant le type de données types de données float, booléen, texte, etc.]

Option 2. Nommez le paramètre avec un préfixe connu. c'est-à-dire Geo_ParameterName [Simple] Le concepteur du rapport [peut ne pas toujours être un concepteur interne] doit savoir que le préfixe a une signification spéciale pour notre application et l'utiliser lorsque cela est approprié.

Est-ce que quelqu'un a des idées sur la possibilité de l'option 1? Il y a un souci de facilité de déploiement à ce choix même si c'est possible.

Merci à l'avance,

Liam

Répondre

1

Je ne pense pas que ce soit possible.

Le schéma RDL est détaillé ici et est limité aux 5 valeurs standard. Même les types CLR sont mappés à l'un d'entre eux, il semble.

RDL Schema

<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> 

Option 2 [Nommer le paramètre avec un préfixe significatif] semble être la seule option.

Liam

1

Vous pouvez utiliser des types de données personnalisés, mais vous aurez besoin de déployer une Assemblée qui définit ces types au serveur SSRS. Vous devrez également fournir cet assembly à toute personne créant des rapports pour vous.

+0

Merci pour cela Benjamin. – Liam

Questions connexes