Sous-rapport

Le
Gloops
Bonjour tout le monde,

Je remets sur le tapis cette histoire de sous-rapport en erreur, comme
je l'ai fait le 1er mai dans le fil "Sous-rapport trop pudique".

J'obtiens le même résultat en m'y prenant comme suit :

1. Création d'une requête paramétrée dans la base Northwind

USE [Northwind]
GO
/****** Objet : StoredProcedure [dbo].[ProductSel] Date de
génération du script : 06/08/2009 23:50:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ProductSel] @ProductID int
AS
SELECT *
FROM Products
WHERE Products.ProductID = @ProductID

2. Création d'un projet ListeProduits de type Windows

3. Création (Add / New Item) d'un Dataset, DataSet1

Depuis le Server Explorer, je fais glisser la requête ProductSel vers l=
a
surface du concepteur de DataSet1. Cela crée une DataTable ProductSel, =

avec les TableAdapters Fill et GetData(@ProductId)

4. De même, création d'un deuxième Dataset, DataSet2

Depuis le Server Explorer, je fais glisser la table OrderDetails. Cela
crée une DataTable OrderDetails, avec les TableAdapters Fill et GetData=
().

5. Création (Add / New Item) d'un Report, RepOrderDetails.rdlc

Menu Report, Data Sources : DataSet2_Order_Details, Add to Report, OK.

6. Création (Add / New Item) d'un autre Report, RepProduct.rdlc

Menu Report, Data Sources : DataSet1_ProductSel, Add to Report, OK.
Menu Report, Report Parameters : name ProductID, Data type Integer, OK.

7. Form1, augmentation de la largeur, ajout d'un ReportViewer par
double-clic dans la Toolbox.

8. Sur le menu du "tag" du ReportViewer, sélection de RepOrderDetails.r=
dlc

9. Elargissement du ReportViewer.

Exécution : page toute blanche.

10. Dans RepOrderDetails.rdlc, ajout d'une Table par double-clic dans la =

Toolbox.

11. Dans le Server Explorer, développement (par clic sur +) de la table=

Order_Details

Glissé des champs OrderID et ProductID vers les deux premières cellul=
es
de la deuxième ligne (ligne détail). Oops, ça ne donne rien.

12. Ajout de source de données.
Dans Data Sources, clic sur "Add New Data Source ".
Set the application get data from : Database

Next
NorthwindConnectionString (Settings)

Next

Cocher la table Order_Details et la procédure stockée ProductSel.

Finish.

13. Ajout de champs à RepOrderDetails.rdlc

Depuis Data Sources, développement de DataSet2 / Order_Details.
Glissé de OrderID vers la première cellule de la ligne détail. La
première ligne fait apparaître l'intitulé Order ID, la deuxième
=Fields!OrderID.Value.
Glissé de ProductID vers la deuxième cellule de la ligne détail. La=

première ligne fait apparaître l'intitulé Product ID, la deuxième=

=Fields!ProductID.Value

14. Création du sous-état
- sélection de la troisième cellule de la ligne détail
- double-clic sur SubReport dans la Toolbox
- dans les propriétés,
ReportName : RepProduct
Parameters : clic sur le bouton à droite,
Parameter Name : ProductID,
Parameter Value : =Fields!ProductID.Value
OK.


Exécution : les champs OrderID et ProductID apparaissent correctement. =

En troisième colonne, sur chaque ligne l'intitulé "Error : the subrep=
ort
could not be shown".

Il n'y a même pas eu besoin d'insérer des champs dans le sous-état,=
au
demeurant au mois de mai il y en avait et ça n'empêchait pas l'erreur=
.

Y a-t-il quelque chose que j'ai fait de travers ?
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
Gloops
Le #19557441
Bon, peut-être qu'il va y avoir besoin de s'organiser.
Alors j'ouvre un sous-fil pour donner les adresses de projets
échantillons ("samples") et les observations faites avec.

Je mets ma config dans un autre message autrement ce sera illisible.

http://gotreportviewer.com/masterdetail/SubreportInList.zip
Le projet échantillon fonctionne. Les données sont stockées dans un
fichier xml.
Si je crée des DataSets sur mes données dans SQL Server ou Access et que
je les lie aux états, ça ne fonctionne plus, "SubReport could not be shown".

ça donne peut-être une piste de travail : convertir les données
systématiquement en xml pour faire l'état à partir de la sérialis ation
xml. Je m'attends à l'inconvénient que ça allonge le temps de trait ement
car il faut le temps de sérialiser d'abord.
Gloops
Le #19557431
Voici ma config :
Microsoft Visual Studio 2005
Version 8.0.50727.762 (SP.050727-7600)
Microsoft .NET Framework
Version 2.0.50727 SP1

Installed Edition: Professional

Microsoft Visual Basic 2005 77626-009-0005252-41150
Microsoft Visual Basic 2005

Microsoft Visual C# 2005 77626-009-0005252-41150
Microsoft Visual C# 2005

Microsoft Visual C++ 2005 77626-009-0005252-41150
Microsoft Visual C++ 2005

Microsoft Visual J# 2005 77626-009-0005252-41150
Microsoft Visual J# 2005

Microsoft Visual Web Developer 2005 77626-009-0005252-41150
Microsoft Visual Web Developer 2005

Microsoft Web Application Projects 2005 77626-009-0005252-41150
Microsoft Web Application Projects 2005
Version 8.0.50727.762

Crystal Reports AAC60-G0CSA4B-V7000AY
Crystal Reports for Visual Studio 2005


Microsoft Visual Studio 2005 Professional Edition - ENU Service Pack 1
(KB926601)
This service pack is for Microsoft Visual Studio 2005 Professional
Edition - ENU.
If you later install a more recent service pack, this service pack will
be uninstalled automatically.
For more information, visit http://support.microsoft.com/kb/926601

Security Update for Microsoft Visual Studio 2005 Professional Edition -
ENU (KB937061)
This Security Update is for Microsoft Visual Studio 2005 Professional
Edition - ENU.
If you later install a more recent service pack, this Security Update
will be uninstalled automatically.
For more information, visit http://support.microsoft.com/kb/937061
Gloops
Le #19557941
http://gotreportviewer.com/definedata/index.html

Defining Report Data Sources

Dans l'avant-dernier alinéa je lis ceci :

You will also open this dialog to find out the names of report data
sources. To supply data for subreports or drillthrough reports (in the
corresponding event handlers) you'll need to know the names of the
report datasources. (For the main report, you got away because Visual
Studio automatically generated code to supply data.)

J'ai déjà lu quelque part dans un newsgroup qu'il fallait écrire du code
pour affecter les données dans un sous-état, et les échantillons es sayés
n'y ayant pas recours à ce qu'il m'a semblé j'ai laissé courir.

Quelque chose me dit que le jour où quelqu'un aura pu essayer les manip s
que je décris en tête de fil, ça permettra déjà d'y voir plus c lair.
Surtout que par la même occasion ça peut lui inspirer des commentaire s.

_____________________________________
Gloops a écrit, le 09/06/2009 00:53 :
Bonjour tout le monde,

Je remets sur le tapis cette histoire de sous-rapport en erreur, comme
je l'ai fait le 1er mai dans le fil "Sous-rapport trop pudique".

J'obtiens le même résultat en m'y prenant comme suit :

1. Création d'une requête paramétrée dans la base Northwind

USE [Northwind]
GO
/****** Objet : StoredProcedure [dbo].[ProductSel] Date de
génération du script : 06/08/2009 23:50:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ProductSel] @ProductID int
AS
SELECT *
FROM Products
WHERE Products.ProductID = @ProductID

2. Création d'un projet ListeProduits de type Windows

3. Création (Add / New Item) d'un Dataset, DataSet1

Depuis le Server Explorer, je fais glisser la requête ProductSel vers la
surface du concepteur de DataSet1. Cela crée une DataTable ProductSel ,
avec les TableAdapters Fill et GetData(@ProductId)

4. De même, création d'un deuxième Dataset, DataSet2

Depuis le Server Explorer, je fais glisser la table OrderDetails. Cela
crée une DataTable OrderDetails, avec les TableAdapters Fill et GetDa ta().

5. Création (Add / New Item) d'un Report, RepOrderDetails.rdlc

Menu Report, Data Sources : DataSet2_Order_Details, Add to Report, OK.

6. Création (Add / New Item) d'un autre Report, RepProduct.rdlc

Menu Report, Data Sources : DataSet1_ProductSel, Add to Report, OK.
Menu Report, Report Parameters : name ProductID, Data type Integer, OK.

7. Form1, augmentation de la largeur, ajout d'un ReportViewer par
double-clic dans la Toolbox.

8. Sur le menu du "tag" du ReportViewer, sélection de RepOrderDetails .rdlc

9. Elargissement du ReportViewer.

Exécution : page toute blanche.

10. Dans RepOrderDetails.rdlc, ajout d'une Table par double-clic dans l a
Toolbox.

11. Dans le Server Explorer, développement (par clic sur +) de la tab le
Order_Details

Glissé des champs OrderID et ProductID vers les deux premières cell ules
de la deuxième ligne (ligne détail). Oops, ça ne donne rien.

12. Ajout de source de données.
Dans Data Sources, clic sur "Add New Data Source ...".
Set the application get data from : Database

Next
NorthwindConnectionString (Settings)

Next

Cocher la table Order_Details et la procédure stockée ProductSel.

Finish.

13. Ajout de champs à RepOrderDetails.rdlc

Depuis Data Sources, développement de DataSet2 / Order_Details.
Glissé de OrderID vers la première cellule de la ligne détail. La
première ligne fait apparaître l'intitulé Order ID, la deuxième
=Fields!OrderID.Value.
Glissé de ProductID vers la deuxième cellule de la ligne détail. La
première ligne fait apparaître l'intitulé Product ID, la deuxiè me
=Fields!ProductID.Value

14. Création du sous-état
- sélection de la troisième cellule de la ligne détail
- double-clic sur SubReport dans la Toolbox
- dans les propriétés,
ReportName : RepProduct
Parameters : clic sur le bouton à droite,
Parameter Name : ProductID,
Parameter Value : =Fields!ProductID.Value
OK.


Exécution : les champs OrderID et ProductID apparaissent correctement .
En troisième colonne, sur chaque ligne l'intitulé "Error : the subr eport
could not be shown".

Il n'y a même pas eu besoin d'insérer des champs dans le sous-éta t, au
demeurant au mois de mai il y en avait et ça n'empêchait pas l'erre ur.

Y a-t-il quelque chose que j'ai fait de travers ?



Publicité
Poster une réponse
Anonyme