Export de DataGrid vers pdf

Fermé
Chris_2_4114 Messages postés 31 Date d'inscription mercredi 9 octobre 2019 Statut Membre Dernière intervention 27 mai 2022 - Modifié le 11 oct. 2019 à 09:25
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 31 oct. 2019 à 10:21
Bonjour..j'essaie de créer un document pdf avec mon dataGrid.. J'ai fait des recherches mais je ne trouve que des solutions en WinForm(dataGridView)...Mon code qui ne marche pas est le suivant... quelqu'un pourrait me le suivre svp?
private void creerPdf_Click(object sender, RoutedEventArgs e)
        {
            Document [/fichier/doc.php3 doc] = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
            PdfWriter wr = PdfWriter.GetInstance(doc, new FileStream("Dossier_pdf", FileMode.Create));
            doc.Open();
            PdfPTable table = new PdfPTable(dmdSatisfaitesDTGrid.Columns.Count);
            BaseFont btnColumnHeader = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            for (int i = 0; i < dmdSatisfaitesDTGrid.Columns.Count; i++)
            {
                PdfPCell cell = new PdfPCell();
                table.AddCell(cell);
            }
 
            for (int i = 0; i < dmdSatisfaitesDTGrid.Columns.Count; i++)
            {
                table.AddCell(dmdSatisfaitesDTGrid.Columns[i].ToString());
            }
            doc.Add(table);
            doc.Close();
            wr.Close();
 
 
        }

Merci..
A voir également:

4 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
9 oct. 2019 à 16:04
Bonjour
En attendant qu’un modérateur corrige ta mis en forme, voici un petit tutoriel pour utiliser correctement la coloration syntaxique https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
Chris_2_4114 Messages postés 31 Date d'inscription mercredi 9 octobre 2019 Statut Membre Dernière intervention 27 mai 2022 3
10 oct. 2019 à 09:08
Merci Whismeril...Voici la correction de la coloration syntaxique
private void creerPdf_Click(object sender, RoutedEventArgs e)
        {
            Document [/fichier/doc.php3 doc] = new Document(iTextSharp.text.PageSize.LETTER, 10, 10, 42, 35);
            PdfWriter wr = PdfWriter.GetInstance(doc, new FileStream("Dossier_pdf", FileMode.Create));
            doc.Open();
            PdfPTable table = new PdfPTable(dmdSatisfaitesDTGrid.Columns.Count);
            BaseFont btnColumnHeader = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
            for (int i = 0; i < dmdSatisfaitesDTGrid.Columns.Count; i++)
            {
                PdfPCell cell = new PdfPCell();
                table.AddCell(cell);
            }
 
            for (int i = 0; i < dmdSatisfaitesDTGrid.Columns.Count; i++)
            {
                table.AddCell(dmdSatisfaitesDTGrid.Columns[i].ToString());
            }
            doc.Add(table);
            doc.Close();
            wr.Close();
 
 
        }
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
10 oct. 2019 à 15:08
As tu exécuté en pas à pas pour voir ce qui se passe?
Si oui peux tu décrire?

Que vaut
dmdSatisfaitesDTGrid.Columns[i].ToString()
?

Peux tu préciser ce qui ne marche pas?
0
Chris_2_4114 Messages postés 31 Date d'inscription mercredi 9 octobre 2019 Statut Membre Dernière intervention 27 mai 2022 3
11 oct. 2019 à 09:19
dmdSatisfaitesDTGrid est le datagrid que je souhaite convertir en pdf.
dmdSatisfaitesDTGrid.Column[i].ToString()
est censé afficher les valeurs du dataGrid suivant la boucle
for (int i = 0; i < dmdSatisfaitesDTGrid.Columns.Count; i++)
.
Bonjour...
0
Chris_2_4114 Messages postés 31 Date d'inscription mercredi 9 octobre 2019 Statut Membre Dernière intervention 27 mai 2022 3
11 oct. 2019 à 10:02


voilà une capture de ce qui sort en pdf
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
11 oct. 2019 à 15:18
Et oui, c’est bien pour ça que je te demandais ce que ça vaut.
Là ça t’affiche le type de la colonne pas le contenu.
Si tu as bindé ton gridview sur une source de données, sert toi directement de cette source.
Si ça n’est pas le cas, alors il faut prendre la valeur du contenu de la cellule.

https://stackoverflow.com/questions/3368302/wpf-datagrid-read-a-cell-value
0
Chris_2_4114 Messages postés 31 Date d'inscription mercredi 9 octobre 2019 Statut Membre Dernière intervention 27 mai 2022 3
11 oct. 2019 à 16:10
Merci Whismeril..En fait c'est une table de ma base de données que j'ai appelée dans le dataGrid. Comment puis-je me servir directement de la table stp? Je suis un peu confus
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
11 oct. 2019 à 23:26
Je suppose que tu as utilisé un datatable ou un objet de ce genre, et bien c’est de cet objet qu’il faut extraire les données
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
31 oct. 2019 à 10:21
Tu as le code qui écrit le pdf.
Je t'ai donné un lien qui montre comment lire les données du datatable.

Il ne te reste qu''à lire les données du datatable dans le code qui écrit le pdf.

Donc ça répond quand-même assez "tangiblement" à ta question.

Il faut tout de même pensez à déclarer ton datatable avec une portée suffisante.

En l'état, sa portée n'est valable que dans la méthode DTGrid_Loaded

0