Je crée un assemblage personnalisé à référencer dans un rapport. J'aimerais pouvoir accéder à l'objet Report
à partir de cet assemblage, afin de pouvoir accéder aux paramètres du rapport et aux autres éléments auxquels je peux accéder dans le code RDL personnalisé en utilisant Report.stuff
.Assemblage personnalisé Reporting Services: accès aux paramètres de rapport
Je dois évidemment référencer certains services de reporting pour faire cela, mais je ne sais pas lequel. J'ai essayé Microsoft.ReportingServices.ProcessingCore
, car il a une classe Report
avec différentes propriétés comme Parameters
etc., mais quand j'essayé de passer l'objet Report
de la section de code personnalisé RDL à ma classe, je suis arrivé cette erreur:
Unable to cast object of type 'ReportExprHostImpl' to type 'Microsoft.ReportingServices.ReportRendering.Report'.
Il y a aussi un assemblage qui expose diverses interfaces et une classe abstraite Report
, mais il ne semble pas avoir les paramètres en tant que propriété. Donc, la question est: comment pourrais-je réaliser cela, quel assemblage dois-je référencer? Et si possible, puis-je accéder à l'objet Report
sans passer depuis le RDL, à savoir pour que je puisse simplement enregistrer une instance de ma classe et plus tard écrire des expressions comme:
=Utils.DoStuffWhileReferencingReportParameters(Fields!field.Value)
Je ne pense pas que référencer ProcessingCore est nécessaire et j'ai découvert que référencer le modèle d'objet ne résout pas le problème exact que j'avais, en fait j'ai trouvé Il est fondamentalement impossible de référencer les paramètres dans la DLL sans les passer du RDL - c'est ce que j'ai fini par faire, j'ai fait que le constructeur accepte la collection Parameters. De toute façon, pour votre effort - j'accepte votre réponse :) –