vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 1421: Dataset nach PDF exportieren (.NET) 
Autor: Montoyafan
 Tipp anzeigenDatum: 06.08.09 19:39

Hallo,

(http://www.vbarchiv.net/tipps/tipp_1421-dataset-nach-pdf-exportieren-net.html)

irgendetwas stimmt bei mir bei diesem Tipp nicht.
Obwohl ich 6 Spalten in meiner DataTable habe, erstellt er in der PDF-Datei bei mir immer nur eine.
Komischerweise aber nicht die erste oder letzte, sondern nur die in der Mitte (in diesem Fall die Anzahl).
Das passiert sowohl beim Header als auch beim Datencontent.

Kann mir jemand sagen warum das so ist?

So schaut das PDF dann aus:

Und so die Zeile:


CreatePDF:
    Private Sub CreatePDF(ByVal strFilename As String)
        Dim oDoc As Document = Nothing
        Dim Writer As PdfWriter = Nothing
        Dim line As Long = 0
        Dim colPos As Long = 0
        Dim t As iTextSharp.text.Table = Nothing
        Dim tCell As Cell = Nothing
 
 
        Try
            Me.ProgressBar1.Visible = True
            Me.ProgressBar1.Minimum = 0
            Me.ProgressBar1.Maximum = mydata.Rows.Count
 
            'PDF erstellen
            oDoc = New Document(PageSize.A4, 20, 20, 20, 20)
            Writer = PdfWriter.GetInstance(oDoc, New FileStream(strFilename, _
              FileMode.Create))
            Writer.Open()
            oDoc.Open()
 
            'Titel
            oDoc.Add(New Paragraph("PRODUKTLISTE", FontFactory.GetFont( _
              FontFactory.TIMES_ROMAN, 14, style:=1)))
 
            'ContentTabelle erstellen
            t = New iTextSharp.text.Table(mydata.Columns.Count)
            t.AutoFillEmptyCells = True
            t.BorderWidth = 0
            t.Border = 0
            t.Padding = 5
            t.Width = 1000
 
            Dim zeile As Integer = 0
 
            'Headerzeile erstellen
            For Each col As DataColumn In mydata.Columns
                tCell = New Cell(col.Caption)
                tCell.Header = True
                tCell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY
                tCell.Border = iTextSharp.text.Rectangle.BOTTOM_BORDER
                t.AddCell(tCell, line, colPos)
                colPos += 1
            Next
            line += 1
 
            colPos = 0
 
            ' --> Datencontent erstellen
            For Each row As DataRow In mydata.Rows
 
                For Each col As DataColumn In mydata.Columns
                    tCell = New Cell(row(col.Caption).ToString)
                    tCell.Border = 0
                    tCell.BorderWidth = 3
                    t.AddCell(tCell, line, colPos)
                    colPos += 1
                Next col
                colPos = 0
                line += 1
                Application.DoEvents()
                Me.ProgressBar1.Value += 1
            Next
 
            ' --> Tabelle an Dokument anfügen
            oDoc.Add(t)
 
            ' --> Objekte schliessen
            oDoc.Close()
            Writer.Close()
 
            Me.ProgressBar1.Visible = False
 
            If MessageBox.Show("Erstellte Datei anzeigen?", "Frage", _
              MessageBoxButtons.YesNo, MessageBoxIcon.Question) = _
              Windows.Forms.DialogResult.Yes Then
 
                Call OpenFile(strFilename)
            End If
 
 
        Catch ex As Exception
            MessageBox.Show(ex.Message)
 
        End Try
 
    End Sub
Auslesen der Daten:
    Public Sub LOAD_ArticleDB(ByVal Art As String, ByVal Anzahl As String, _
      ByVal Filter As String, ByVal FilterGruppe As Boolean, ByVal GrpID As _
      Integer)
        Dim sql As String = ""
        mydata.Clear()
 
        If FilterGruppe = False Then
            sql = "SELECT artikelnummer as ArtNr, artikelname as Artikelname, (" & _
              "SELECT gruppenname FROM produktgruppen WHERE id =" & _
              "artikel.produktgruppe) as Produktgruppe, artikelanzahl as" & _
              "Anzahl, " _
                & "artikelpreis as Nettopreis , nummer_intern as Nummer FROM" & _
                "artikel " & Art & Filter & ";"
        Else
            sql = "SELECT artikelnummer as ArtNr, artikelname as Artikelname, (" & _
              "SELECT gruppenname FROM produktgruppen WHERE id = " & GrpID & ")" & _
              "as Produktgruppe, artikelanzahl as Anzahl, " _
                            & "artikelpreis as Nettopreis , nummer_intern as" & _
                            "Nummer FROM artikel " & Art & Filter & ";"
        End If
 
        Dim cmd As New OleDbCommand(sql, conn)
        Dim myAdapter As New OleDbDataAdapter(cmd)
        myAdapter.Fill(mydata)
 
        Dim binder As New BindingSource
        binder.DataSource = mydata
        DataGridView1.DataSource = binder
        BindingNavigator1.BindingSource = binder
    End Sub
Danke

Beitrag wurde zuletzt am 06.08.09 um 19:40:34 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Tipp 1421: Dataset nach PDF exportieren (.NET)4.810Montoyafan06.08.09 19:39
Dataset nach PDF exportieren (.NET)2.644vatko_tg11.04.11 14:17
Re: Dataset nach PDF exportieren (.NET)2.351Manfred X11.04.11 19:39

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel