IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[.Net 1.1] pb état crystal report


Sujet :

ASP.NET

  1. #1
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut [.Net 1.1] pb état crystal report
    Bonjour à tous,

    Je rencontre un souci avec un état Crystal Report. Ci dessous le code qui permet de générer un état au format pdf. Je n'utilise pas de Viewer. Je génére un pdf que je charge par la suite dans le navigateur. Le problème c'est que lorsque je clique sur le bouton précédent du navigateur, je perds toutes les infos saisies sur la page précédente. Pire, je reviens sur la page de démarrage de l'appli web au lieu de revenir sur la page qui m'a permit de générer l'état. Sinon à part çà l'état est correct.

    Merci à vous si vous avez une idée ...

    jérome

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
     
     
    			if (this.Page.IsValid)
    			{
     
    				System.Data.OleDb.OleDbConnection oleDBcn = new System.Data.OleDb.OleDbConnection(); 
    				oleDBcn.ConnectionString = Session["ChaineConnexion"].ToString(); 
     
    				StatCommercial.rptDataSet1 MonDataSet = new StatCommercial.rptDataSet1(); 
     
     
    				System.Data.OleDb.OleDbParameter paramCmd1 = new OleDbParameter("@DateDeb", Convert.ToDateTime(this.txtDateDeb.Text + " 00:00:00")); 
    				System.Data.OleDb.OleDbParameter paramCmd2 = new OleDbParameter("@DateFin", Convert.ToDateTime(this.txtDateFin.Text + " 23:59:59")); 
     
    				string sRqy = " ... ici c'est ma requete sql";
     
    				System.Data.OleDb.OleDbDataAdapter myAdapter = new System.Data.OleDb.OleDbDataAdapter(sRqy, oleDBcn); 
    				myAdapter.SelectCommand.Parameters.Add(paramCmd1); 
    				myAdapter.SelectCommand.Parameters.Add(paramCmd2);  
     
    				oleDBcn.Open(); 
    				myAdapter.Fill(MonDataSet.rqyRESULTAT);
    				oleDBcn.Close(); 
     
    				StatCommercial.rptClassementClient MonEtat = new rptClassementClient(); 
     
    				MonEtat.SetParameterValue("DateDeb",this.txtDateDeb.Text + " 00:00:00");
    				MonEtat.SetParameterValue("DateFin",this.txtDateFin.Text + " 23:59:59");
     
    				MonEtat.SetDataSource(MonDataSet); 
     
    				// dans le code ci dessous plutot que de faire la liaison entre l'etat 
    				// et le CrystalReportViewer, on procède directement à un export de l'etat en PDF.
     
    				//CRViewer.ReportSource = MonEtat;  
     
    				CrystalDecisions.Shared.ExportOptions crExportOptions = new ExportOptions() ;
    				CrystalDecisions.Shared.DiskFileDestinationOptions crDiskFileDestinationOptions = new DiskFileDestinationOptions();
     
    				string Fname = "C:\\Inetpub\\wwwroot\\StatCommercial\\" + Session.SessionID.ToString()  + ".pdf";
    				crDiskFileDestinationOptions.DiskFileName = Fname;
     
    				crExportOptions = MonEtat.ExportOptions; 
     
    				crExportOptions.DestinationOptions = crDiskFileDestinationOptions;
    				crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;
    				switch (this.DropDownList1.SelectedIndex)
    				{		
    					case 0:
    						crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;
    						break;
    					case 1:
    						crExportOptions.ExportFormatType = ExportFormatType.WordForWindows;
    						break;
    					case 2:
    						crExportOptions.ExportFormatType = ExportFormatType.Excel;
    						break;
    				}
     
    				MonEtat.Export();
     
    				//Le code suivant permet d'écrire le fichier pdf dans le navigateur du client.
    				Response.ClearContent();
    				Response.ClearHeaders();
     
     
    				switch (this.DropDownList1.SelectedIndex)
    				{		
    					case 0:
    						Response.ContentType = "application/pdf";
    						break;
    					case 1:
    						Response.ContentType = "application/msword";
    						break;
    					case 2:
    						Response.ContentType = "application/vnd.ms-excel";
    						break;
    				}
     
    				Response.WriteFile(Fname);
    				Response.Flush();
    				Response.Close();
     
    				//supprimer le fichier exporté du disque
    				System.IO.File.Delete(Fname);
     
    				// liberer le dataset
    				MonDataSet.Clear(); 
    				MonDataSet.Dispose();
     
    			}

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    qu'est ce que tu as dans le Page_Load de ta page ?
    J'ai fait la même chose en .NET 2.0 et je revenais bien à page précédente.

    Fix

  3. #3
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    bonjour

    J'ai ceci. Qu'en penses tu ?

    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
    19
     
    if (! Page.IsPostBack)
    {
    	// Placer ici le code utilisateur pour initialiser la page
    	DateTime dt1 = new DateTime();
    	dt1 = DateTime.Now.Date;
     
    	// autre manière d'initialiser un datetime, avec le constructeur
    	System.DateTime dt2 = new DateTime( DateTime.Now.Year ,DateTime.Now.Month,DateTime.Now.Day); 
     
    	int nbj1 = (1 - DateTime.Now.Day);  
    	dt1 = dt1.AddDays(nbj1); 
     
    int nbj2 = DateTime.DaysInMonth(DateTime.Now.Year , DateTime.Now.Month)  - DateTime.Now.Day;  
    	dt2 = dt2.AddDays(nbj2); 
     
    	this.txtDateDeb.Text = dt1.ToShortDateString(); 
    	this.txtDateFin.Text = dt2.ToShortDateString(); 
    	}

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    arg non je suis désolé, ca ouvre acrobat et non une page IE

    Mais je ne comprends pas pourquoi ca retourne a ta première page en voyant ton code. T'as pas une masterPage, dans laquelle tu ferais un Redirect ?

    Fix

  5. #5
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    En fait j'ai une page de démarrage sur laquelle il y a des hyperlink qui pointent vers d'autres pages. Sur ces pages j'ai des contrôles qui me permettent de saisir des critères.

    Je clique sur un bouton et en fonction des critères saisis il me génère un état pdf, excel ou word (dépend de ce que j'ai demandé). L'état s'ouvre dans la même fenêtre mais tu as déjà remarqué que l'état n'est pas chargé dans un crystalreportviewer (ou n'importe qu'elle autre type de viewer), c'est un simple pdf que j'ouvre dans le navigateur. par contre quand je clique sur le bouton précédent je reviens sur la page avec les hyperlink et non sur ma page de critère avec les critères toujours présent dans les zones de saisie.

    Voilà j'espère que c'est plus clair,
    et merci pour ton aide...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Points : 633
    Points
    633
    Par défaut
    excuse moi, ca n'a rien avoir, mais pourquoi tu ne mets pas "ChaineConnexion"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    oleDBcn.ConnectionString = Session["ChaineConnexion"].ToString();
    dans une variable dans ton fichier web.config ???



    Fix

  7. #7
    Membre régulier
    Inscrit en
    Mars 2005
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 163
    Points : 98
    Points
    98
    Par défaut
    oui je sais c'est pas top
    mais je le ferai

Discussions similaires

  1. vb.net : Refresh des états crystal report
    Par cyberSpace dans le forum VB.NET
    Réponses: 0
    Dernier message: 21/12/2011, 13h33
  2. Réponses: 1
    Dernier message: 22/09/2010, 13h37
  3. Affichage d'état Crystal report XI sous VB.net
    Par kssillati dans le forum VB.NET
    Réponses: 1
    Dernier message: 17/09/2007, 15h22
  4. Réponses: 1
    Dernier message: 31/10/2006, 12h40
  5. Pb de sous-état Crystal Report via VB net
    Par christellel198 dans le forum SDK
    Réponses: 1
    Dernier message: 15/06/2006, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo