Imprimer directement crystal report sur imprimante sans visualiser en c# [Résolu]

Messages postés
111
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
10 septembre 2019
-
Bonjour,
j'ai dévellopé une application ou lors de l'impression, il faut d'abord previsualiser le recu avant de l'imprimer, or je voulais modifier ce code du genre que quand le client click sur un boutton imprimmer, que l'impression se fasse directement sur imprimente sans previsualiser,

voici le code qui visualise avant impression
 void report()
        {
            cnx = new SqlConnection(db.RXcon); 
            try
            {
                cnx.Open();
                string cg=" SELECT * from Consultation where NumFact=" + @Convert.ToInt32(textBox4.Text);
                commd2 = new SqlCommand(cg);
                commd2.Connection = cnx;
                DataSet dts = new DataSet();
                DataTable dt = new DataTable();
                dtr = commd2.ExecuteReader();
                dt.Load(dtr);
                FactCons c2 = new FactCons(); //crystalreport 
                c2.SetDataSource(dt);
                crystalReportViewer1.ReportSource = c2;
                c2.SetDatabaseLogon("sa", "789456");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            cnx.Close();
        }


Afficher la suite 

1 réponse

Messages postés
111
Date d'inscription
samedi 28 juillet 2012
Statut
Membre
Dernière intervention
10 septembre 2019
3
0
Merci
Bonjour,
j'ai résolu ma question en ajoutant ceci
  c2.PrintToPrinter(1, true,0, 0);

et alors le code devien complet et ca imprime directement sur imprimente définie par le client par défaut
void report()
        {
            cnx = new SqlConnection(db.RXcon); 
            try
            {
                cnx.Open();
                string cg=" SELECT * from Consultation where NumFact=" + @Convert.ToInt32(textBox4.Text);
                commd2 = new SqlCommand(cg);
                commd2.Connection = cnx;
                DataSet dts = new DataSet();
                DataTable dt = new DataTable();
                dtr = commd2.ExecuteReader();
                dt.Load(dtr);
                FactCons c2 = new FactCons(); //crystalreport 
                c2.SetDataSource(dt);
                crystalReportViewer1.ReportSource = c2;
                c2.SetDatabaseLogon("sa", "789456");
               c2.PrintToPrinter(1, true,0, 0);//la solution
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            cnx.Close();
        }

Commenter la réponse de remiki90