2017-08-13 2 views
0

Ich muss dx-data-grid (devExpress Grid) in PDF-Dokument exportieren.Es gibt eine Lösung für den Export von Daten in Excel, aber wie man es in PDF exportieren?Wie exportiere ich dx-data-grid in pdf?

+0

Bitte klar, was Sie erreichen wollen. –

+0

Klicken Sie auf die Schaltfläche, dann werden alle Rasterdaten in das PDF-Format mit der gleichen Rasterstruktur exportiert. – Bassem

+0

Support sagt: [Derzeit ist das PDF-Dateiformat für das Rasterwidget nicht verfügbar. Nur das Excel-Format wird unterstützt.] (Https://www.devexpress.com/Support/Center/Question/Details/T500288/how-to-export-dx-data-grid-to-pdf). – ventiseis

Antwort

1

Im Moment nicht auf dxDataGrid erlaubt ist, beantworten von DX-Unterstützung:

Im Moment ist dxDataGrid nicht der Export in eine PDF-Funktion bieten. Wir sind uns dieser Einschränkung bewusst und diese Funktion befindet sich in unserer TO-DO-Liste. Ich kann Ihnen jedoch nicht genau sagen, wann es eingeführt werden kann.

Sie können jedoch Ihre eigene PDF-Datei auf der Serverseite Ihrer App erstellen. mit iTextSharp, dieser Artikel zeigt, wie das zu tun, http://www.c-sharpcorner.com/UploadFile/f4f047/generating-pdf-file-using-C-Sharp/

using iTextSharp.text; 
using iTextSharp.text.pdf; 

protected void GeneratePDF(object sender, System.EventArgs e) 
{ 
using(System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) 
{ 
    Document document = new Document(PageSize.A4, 10, 10, 10, 10); 

    PdfWriter writer = PdfWriter.GetInstance(document, memoryStream); 
    document.Open(); 

    Chunk chunk = new Chunk("This is from chunk. "); 
    document.Add(chunk); 

    Phrase phrase = new Phrase("This is from Phrase."); 
    document.Add(phrase); 

    Paragraph para = new Paragraph("This is from paragraph."); 
    document.Add(para); 

    string text = @ "you are successfully created PDF file."; 
    Paragraph paragraph = new Paragraph(); 
    paragraph.SpacingBefore = 10; 
    paragraph.SpacingAfter = 10; 
    paragraph.Alignment = Element.ALIGN_LEFT; 
    paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 12f, BaseColor.GREEN); 
    paragraph.Add(text); 
    document.Add(paragraph); 

    document.Close(); 
    byte[] bytes = memoryStream.ToArray(); 
    memoryStream.Close(); 
    Response.Clear(); 
    Response.ContentType = "application/pdf"; 

    string pdfName = "User"; 
    Response.AddHeader("Content-Disposition", "attachment; filename=" + pdfName + ".pdf"); 
    Response.ContentType = "application/pdf"; 
    Response.Buffer = true; 
    Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); 
    Response.BinaryWrite(bytes); 
    Response.End(); 
    Response.Close(); 
} 
} 

Und dann an Ihren Kunden übertragen How to download a file to client from server?

+0

Danke, dass du die Lösung funktionierst, aber ich habe eine Lösung gefunden, ohne den Server erneut aufzurufen. Eine mögliche Lösung ist, die Datenquelle von Datagrid in die HTML-Tabelle zu konvertieren. Dieses Beispiel kann auch auf Datagrid angewendet werden und verwendete JS-Bibliothek, um von HTML zu PDF zu konvertieren. Dieser Link hilft mir, das zu tun: https://www.devexpress.com/Support/Center/Question/Details/T113743/dxdatagrid-provide-the-capability-to-export-data – Bassem

+0

Gut zu wissen, dass Sie eine Option gefunden haben, hoffentlich werden sie Export in pdf in der nächsten Version implementieren –

+0

Leider werden sie es nicht implementieren, sie setzen es nicht in root-map für die nächsten Versionen – Bassem

Verwandte Themen