Imprimer un crystal report dans une application web

Soyez le premier à donner votre avis sur cette source.

Snippet vu 35 728 fois - Téléchargée 34 fois

Contenu du snippet

IMPRIMER UN RAPORT EN UTILISANT DES TABLES QUI PROVIENNENT D'UNE BASE DE DONNÉES SÉCURISÉE(SQLSERVER)

Ce code vous explique comment vous authentifier à des tables Sql Server en utilisant Crystal Report dans Visual Studio.net pour une application Web.

Cette authentification est obligatoire, si elle n'est pas faite lorsque qu'un usager tentera de visionner le rapport ou de l'imprimer, il obtiendra l'erreur "Logon Failed".

Source / Exemple :


Vous avez besoin de 
using CrystalDecisions.Shared
using CrystalDecisions.CrystalReports.Engine

//Créer l'instance pour un nouveau rapport
ReportDocument crpt = new ReportDocument();								
//Charger le rapport	
crpt.Load("C:\\Reports\\rapport.rpt");     
									    
//Pour pouvoir utiliser un Crystal Report avec Sql Server on doit s'authentifier à chacune des tables contenues dans le rapport avec un compte d'utilisateur SqlServer. Sinon on obtient l'erreur login failed lorsque que l'on veut utiliser ce rapport.

//Cette boucle permet de parcourir chacune des tables utilisées dans le rapport.	

int i;
		
for (i=0;i <= crpt.Database.Tables.Count - 1;i++) 
{
    
    TableLogOnInfo logOnInfos = new TableLogOnInfo ();

    //Informations requises pour s'authentifier
    logOnInfos.ConnectionInfo.ServerName = "SqlServer";
    logOnInfos.ConnectionInfo.DatabaseName = "NomDeLaBaseDeDonnées";
    logOnInfos.ConnectionInfo.UserID = "NomDutilisateur";
    logOnInfos.ConnectionInfo.Password = "MotdePasse";

    //Appliquer les informations pour la table dans laquelle on est rendu dans la boucle
    crpt.Database.Tables[i].ApplyLogOnInfo(logOnInfos);		
}
						
//On choisi le nom de l'imprimante à utiliser
crpt.PrintOptions.PrinterName = "Office";
						
//Imprimer le rapport(les 4paramètres sont bien expliqués dans l'éditeur de code, c'est genre nombre de copies, page de début et fin...)

crpt.PrintToPrinter(1,false,0,0);

Conclusion :


C'est la première source que j'ajoute dans ce site. Donc, ce n'est p-e pas parfait, car je suis un débutant avec le C#. Par contre , je viens souvent consulter ce site pour obtenir de l'aide, donc je suis content si je peux à mon tour aider quelqu'un.

A voir également

Ajouter un commentaire

Commentaires

c tres bien chose merci
Messages postés
1
Date d'inscription
mardi 12 février 2013
Statut
Membre
Dernière intervention
8 mars 2013

Salut;
aiderrrrrrrrrrrrr moi besoin d'une methode pour appeler une fonction de sql a C# sa tache et convertir les chiiffres en lettres
Merci d avance !!!!!!
help Meee :(
Messages postés
1
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
8 mars 2007

Pour moi, idem l'édition se passe "bien" mais pas de données.
Quelqu'un a t-il la solution ?
Merci d'avance.
Messages postés
4
Date d'inscription
vendredi 17 mars 2006
Statut
Membre
Dernière intervention
12 mars 2015

rien ne clair si on met un code il faut qu'il est satisfante ou pas peine
Messages postés
5
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
2 septembre 2005

Bonjour,
Pourqoi instancier l'objet logOnInfos pour chacune des tables contenues dans le rapport ? y'a t'il vraiment une raison ?!
for (i=0;i <= crpt.Database.Tables.Count - 1;i++)
{
TableLogOnInfo logOnInfos = new TableLogOnInfo ();
...
}
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.