Subreport could not be shown

Le
Gloops
Bonjour tout le monde,

ça y est, ça marche !

Il faut croire que cet après-midi j'étais dans de bonnes conditions p=
our
effectuer des recherches, j'ignore si c'est moi qui étais en progrès =
ou
si ce sont les moteurs de recherche, toujours est-il que la réponse
était dans la première page de résultats :

http://www.velocityreviews.com/forums/t509239-error-subreport-could-not-b=
e-shown.html

J'avais bien déjà vu quelque part que quelqu'un conseillait de défi=
nir
les données par code, mais comme la doc disait qu'on pouvait faire sans=
,
je continuais à chercher. Là, c'est, selon la signature, un responsab=
le
du support technique de Microsoft qui confirme qu'il s'agit bien d'un
bug, qu'on arrive à contourner avec quelques lignes de code -jusqu'à =

avoir installé la mise à jour ad hoc.

Par ailleurs il convient d'introduire les données de l'état et du
sous-état en composant du formulaire par un glissé de souris depuis l=
a
fenêtre Data Sources. Je n'ai pas établi de lourdes batteries de test=

pour établir ce qui est indispensable et ce qui ne l'est pas, mais enfi=
n
avec ça c'est bon.

A part ça, du fait que le défaut ne se manifeste pas à tous les cou=
ps en
fonction de comment on définit l'état et le sous-état, j'imagine qu=
'en
plongeant dans leurs codes avec un éditeur XML on devrait réussir à=
en
dire plus et dans certains cas à être capable de les refaire de faç=
on
qu'ils fonctionnent sans écrire de code. Cela étant, la plateforme
donnant largement de quoi s'occuper, je vais peut-être me contenter
d'appliquer ce contournement proposé par Microsoft soi-même, et rév=
iser
des bricoles comme les appels de webservices ou d'autres du genre, en
d'autres termes clore le chapitre.

Merci à ceux qui ont passé du temps là-dessus, notamment Jérémy=
qui
s'est manifesté.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #19860861
Bonjour gloops,

Merci pour l'information, je crois que l'on est un certain nombre à qui
cela pourra servir le moment venu ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gloops
Le #19867821
Jérémy Jeanson a écrit, le 31/07/2009 15:30 :
Bonjour gloops,

Merci pour l'information, je crois que l'on est un certain nombre à q ui
cela pourra servir le moment venu ;)



Ah, dans le fond ça se pourrait bien, ça. :)
J'ai aussi de quoi faire sur d'autres sujets, mais je finirai bien par
me fendre d'une page web sur la question.

Depuis le code pour initialiser la source de données du formulaire, j'a i
aussi découvert autre chose, valable pendant la phase de développemen t
cette fois : au niveau de la commande Choose DataSources du smarttag du
ReportViewer, il convient de sélectionner d'abord la source de donnée s
du sous-état, et puis juste après celle de l'état principal. ça p eut
surprendre puisque cette zone n'accepte qu'une valeur, mais lorsqu'on
sélectionne une source de données à cet endroit, cela génère
automatiquement les objets d'accès, sous le formulaire. C'est d'ailleur s
le nom de la BindingSource ainsi créée pour le sous-état qu'il y au ra
lieu de reporter dans la procédure SetSubDataSource, en deuxième
argument du ReportDataSource ajouté (ce n'est donc pas nécessairement
superflu d'en prendre note avant de créer l'autre). Le premier argument ,
quant à lui, fera référence au DataSet et à la DataTable sélect ionnées
en DataSource. Le format, comme on peut s'y attendre, est assez simple :
entre guillemets, inscrire le nom du DataSet, suivi d'un caractère de
soulignement, puis du nom de la DataTable.

Bien entendu, il faut réaliser ces manœuvres le nombre de fois voulu
pour éviter d'être désorienté par les listes qui ne se rafraichis sent
pas forcément au moment où on s'y attend, par exemple. ça fait que si on
fait ce genre de découverte devant le client, ça peut le rendre nerve ux :)
Sans compter qu'on a vite fait d'oublier d'ajouter la référence, en h aut
du module.

Pour se rappeler le code à insérer dans le module, il s'avère que
Microsoft a édité quelques fiches là-dessus, ce qui peut être
intéressant le moment venu si on n'a pas besoin d'étudier toute la
littérature qui va avec.

Avec les critères
ReportViewer SubReport microsoft kb
on tombe par exemple sur
http://www.netomatix.com/Articles/KBArticle.aspx?a‘9157
qui mentionne aussi l'adresse :
HTTP://SUPPORT.MICROSOFT.COM/KB/919157/EN-US

(mouaif, celle-ci est aussi bien ... d'ailleurs selon le moteur de
recherche on peut aussi bien tomber directement dessus ; en minuscules .. .)
Jérémy Jeanson
Le #19912761
Bonjour Gloops,

Etant coutumier des soucis du designer de Report, j'avais complettement
oublié de te dire que pour ce qui est des sources de données, je l'ai
entièrement laissé tombé. A la place j'ouvre le fichier via Visual
Studio comme étant un fichier XML, j'ajoute mes DataSet et Tables.
Ensuite je ferme mon fichier et je l'ouvre avec le designer pour éditer
le report et positionner mes controles et leur binding aux dataset.

Si tu veux un peu d'informations sur le schema xml utilisé par les
reports, j'ai fait un petit résumé il y a quelqus temps ici:
http://jjeanson.fr/1/Post.aspx?postR327023-5638-0c89-10d0-8f7f8e3e2a59

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Gloops
Le #19914141
Jérémy Jeanson a écrit, le 11/08/2009 09:33 :
Si tu veux un peu d'informations sur le schema xml utilisé par les
reports, j'ai fait un petit résumé il y a quelqus temps ici:
http://jjeanson.fr/1/Post.aspx?postR327023-5638-0c89-10d0-8f7f8e3e2 a59




Bon, je vais regarder ça, merci, apparemment ça peut être bien pour
fignoler quelques trucs.

Pour avoir des largeurs de colonnes différentes pour un entête de gro upe
par rapport au détail, ça ne paraissait pas évident puisque tout es t
géré dans un tableau. Alors finalement, j'ai fait un sous-état pour
l'entête de groupe, et un autre pour le détail, et comme ça on met tout
où on veut. De cette manière l'état principal est somme tout simple , un
tableau avec regroupement, un sous-état dans la tête de groupe, un au tre
sous-état dans le détail, l'entête et le pied de page, point. Je me suis
rendu compte aussi que le contrôle sous-état doit être au moins aus si
large que l'état défini par le fichier rdlc qu'il reçoit. Sinon,
contrairement à ce que j'ai lu quelque part ça ne provoque pas l'erre ur
"subreport could not be shown", et même à l'écran on ne voit rien q ui
cloche, mais c'est une fois que l'utilisateur demande l'impression qu'il
se rend compte que la mise en page obtenue est très surprenante, et il
n'est pas garanti du tout qu'il apprécie la surprise.

A propos maintenant je fais ça presque les yeux fermés en Winform, ma is
sur web il y aura semble-t-il encore une ou deux séances. La syntaxe
pour désigner le dataset est-elle la même ? D'ailleurs l'articulation
entre le dataset et son instance de données n'est pas tout-à-fait
organisée pareil il me semble.

Pour l'instant, maintenant que j'ai obtenu un état, j'en suis à mieux
gérer les données à mettre dedans. On se dit que le DataGridView c' est
un truc tout simple, en fait il faut quand même jouer avec une fois ou
deux pour que ce soit "fluent". Et même jouer avec chaque type de base à
attaquer ...



[HS] Je croyais qu'il y avait un problème de mise à jour (qui rendait
nécessaire la procédure définissant les données du sous-état), en fait
ce qui traînait depuis six mois (une mise à jour reproposée après avoir
été installée x fois) est maintenant réglé, il s'agissait de vi der en
mode sans échec le répertoire C:WindowsSoftwareDistribution
Publicité
Poster une réponse
Anonyme