Salut à tous,
Je souhaite réaliser la partie Reporting dans une application C# pour cela, je me suis pencher vers Microsoft ReportViewer.
Dans la fenêtre de mon application, l'utilisateur dispose d'un ComboBox qui lui permettra de choisir la date de péremption d'un produit. voici le code :
Donc, je veux afficher le Rapport selon le choix de l'utilisateur en prenant les paramètres Limiteinf et Limitesup.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int Limiteinf = 0; int Limitesup = 0; switch (comboBox1.Text) { case "Moins de 3 mois": Limiteinf = 0; Limitesup = 3; break; case "Entre 03 et 06 mois": Limiteinf = 3; Limitesup = 6; break; case "Entre 06 et 12 mois": Limiteinf = 6; Limitesup = 12;break; }
J'ai établie ensuite la requête de mon DataSet en prenant en compte les 2 paramètres comme ceci :
J'ai tout d'abord crée mon rapport .rdlc en ajoutant un nouvel élément "Report"à mon Projet et j'ai attribuer deux Paramètres à mon rapport le 1er étant LimiteMin et le deuxième LimiteMax tous les deux de type int.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM PRODUITS WHERE (DATEDIFF(MONTH, Date_Peremption, GetDate()) BETWEEN @LimiteMin AND @LimiteMax)
ensuite je suis aller dans la Form où il ya le bouton "imprimer Rapport" et j'ai mis ce code :
Et après je suis aller à la Form que j'ai appelé EtatSelonDuree et j'ai mis le Rapport .rdlc que j'ai crée précédemment et j'ai mis ce code là pour récupérer les paramètres de l'utilisateur et c'est là où je bloque !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int Limiteinf = 0; int Limitesup = 0; switch (comboBox1.Text) { case "Moins de 3 mois": Limiteinf = 0; Limitesup = 3; break; case "Entre 03 et 06 mois": Limiteinf = 3; Limitesup = 6; break; case "Entre 06 et 12 mois": Limiteinf = 6; Limitesup = 12;break; } EtatSelonDuree etat = new EtatSelonDuree(Limiteinf, Limitesup); etat.ShowDialog();
voilà le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 int LimiteMin, LimiteMax; public EtatSelonDuree(int _Limiteinf, int _Limitesup) { InitializeComponent(); this.LimiteMin = _Limiteinf; this.LimiteMax = _Limitesup; Chargement(); } private void Chargement() { ReportParameter lim1 = new ReportParameter("@LimiteMin",LimiteMin); ReportParameter lim2 = new ReportParameter("@LimiteMax",LimiteMax); reportViewer1.LocalReport.SetParameters(lim1); // je n'ai pas su comment faire pour passer les paramètres au rapport }![]()
Voilà, j'ai mis toutes mes étapes en espérant être clair
Ma question est comment passer les paramètres choisis par l'utilisateur et les prendre en compte dans ma requête et ainsi afficher le rapport approprié.
Merci d'avance.
Partager