2010-06-18 14 views
2

Je voudrais savoir si quelqu'un a créé un rapport RDL (l'exécutant dans Reporting Services) et l'a chargé dans un composant WPF comme FlowDocument. Comme RDL n'est qu'un XML, il existe peut-être un moyen d'analyser le résultat et d'éviter d'utiliser WindowsFormsHost pour utiliser le contrôle de visionneuse de rapports.De toute façon pour charger le contenu du rapport RDL dans un FlowFocument WPF ou similaire?

Serait vraiment agréable d'avoir un autre contrôle plutôt que ce Report Viewer dans l'intégration de WindowsFormsHost.

merci! RDL est XML, mais XML très compliqué

Répondre

2

Ce que vous voulez est fondamentalement le ReportViewer réécrit dans WPF. Pas une petite tâche du tout. Une chose qui vient à l'esprit est la demande du rapport directement à partir du serveur et la capture du code HTML retourné, et l'incorporation de ce code HTML dans un contrôle WPF qui peut le rendre. Mais je n'ai jamais essayé ça.

D'une manière générale, jusqu'à présent, il n'existe pas de solution satisfaisante pour le mélange de Reporting Services et de WPF/Silverlight.

+0

En effet, ce serait possible! Si nous pouvons attraper le HTML retourné et le charger dans un contrôle WPF, ce serait vraiment bien. Le problème peut être uniquement le comportement de pagination et de zoom. –

+1

Le problème est que vous obtenez un rapport statique et inactif. Vous perdez le zoom, la pagination, la recherche, le filtrage, l'exploration, l'exportation, etc. Certaines de ces choses peuvent être recréées en faisant plus d'appels au serveur, la plupart de ces choses que vous ne pouvez pas recréer du tout. Dans l'ensemble, c'est une mauvaise solution à moins que votre rapport soit très simple :(Je n'ai jamais fait une (vraie) application WPF moi-même, donc je n'ai pas ressenti la peine de ReportViewer + WindowsFormHost dont tout le monde parle. c'est probablement la meilleure solution, je peux dire que MS est consciente de cette situation et travaille sur une vraie solution. –