Inhalt eines Datagridview und darunter Text aus einer separaten Textbox auf ein Blatt drucken

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Inhalt eines Datagridview und darunter Text aus einer separaten Textbox auf ein Blatt drucken

    Im Netz gibt es mehrere Möglichkeiten um den Inhalt von DataGridviews mit dem Drucker auf Papier zu bringen z.B. mittels Class PrintDGV und andere . Die Möglichkeit den Inhalt eines Datagridview und darunter Mengentext aus einer separaten Textbox auf ein Blatt zu drucken lässt sich jedoch nirgends finden. Ich suche dringend den Code um dies zu ermöglichen. Ich habe bis zur Zeit lediglich die Möglichkeit mittels der 'Sub DrawFooter' Seitenzahl ect. ans untere Ende der Seite zu drucken gefunden. Es müsste doch möglich sein das Problem zu lösen.
    Danke für Hilfe
    Willkommen im Forum. :thumbup:
    Ich denke, Du solltest Dich erst einmal mit den Grundlagen des Druckens befassen.
    Wenn Du nur C&P-Code abgreifen willst, ist Dir nicht geholfen, denn bei der kleinsten Änderung kommst Du mit 1000 Fragen zum Forum.
    Fang an und richte Dir einen PDF-Drucker ein, da brauchst Du kein Papier zum Lernen.
    Dann such Dir hier im Forum ein Beispiel mit PrintDocument raus und übe, gezielt einzelne Inhalte auf mehrere Druck-Seiten zu verteilen.
    Dann sieh, wie Du die Ausgabeposition auf einer Seite steuerst, und wenn Du das kannst, bist Du in der Lage, Dein Problem selbst zu lösen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Datagridview und Text darunter drucken . Viel versucht es gelingt nicht

    Das Datagridview wird einwandfrei gedruckt. Den in der Textbox vorhandener Kurztext druckt die Testroutine darunter. Wenn ich die TextBox jedoch mit Datentext aus der Datenbank gefüllt habe druckt er diesen nicht .
    Mir würde hier wirklich ein Beispielcode weiterhelfen und sicherlich wäre dies ein wichtiger Beitrag für dieses Forum.
    Ansonsten danke ich vielmals für jeden wirklichen Lösungsvorschlag herzlich.

    Datagridview und Text darunter drucken Fortschritt

    Habe das jetzt soweit hinbekommen , dass beides auf dem Papier ist. Muss ich jedoch noch verfeinern. Bin so verfahren. Erst eine Routine zum drucken des Textes aus der Text oder RichtextBox erstellen. Nun die Routine zum drucken des DatagridViews erstellen und natürlich testen. Wenn es klappt in der Sub Datagridview_Printpage vor Drawfooter die routine vom Textdruck ansteuern. So funktioniert es bei mir jedenfalls.
    Bist Du mit Deiner Lösung zufrieden?
    Beim Drucken wovon auch immer musst Du doch die Position angeben. Dahingehend ist es egal, ob Du den Text zuerst oder nach der Tabelle druckst.
    Allerdings ist es sinnvoll, den Text von oben nach unten zu drucken, damit keine Lücken oder Engstellen entstehen.
    Und falls Dir das noch nicht vorgekommen ist, Du kannst die Größe des Drucktextes bestimmen:

    VB.NET-Quellcode

    1. Dim g As Graphics = Me.CreateGraphics ' Graphics von PrintPage
    2. Dim ft As Font = Me.Font ' Dein Font
    3. Dim sz As SizeF = g.MeasureString("bla", ft)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Datagridview und Text darunter drucken BeispielBild

    Ich habe das jetzt soweit hinbekommen . Wobei es halt schön wäre im Netz einen professionellen Code einsehen zu können um davon lernen zu können. Im Anhang eine Ansicht als Screenpicture. Vielen Dank an denrotenvondeutschland(vielleicht gibt es ja eine schönere Übersetzung ? aber ich bin nicht so gut im dolmetschen.) ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „vbfuzzi44“ ()

    einen prof. Code im INet wirds kaum geben, denn für jede Anwendung ist der Druckvorgang eine spezielle Maßarbeit.
    User "Bernd" hat hier auf VBP iwo eine recht brauchbare Klasse zum Drucken von DatagridViews eingestellt.

    Ich hab mal was mit mehrseitigem Fließtext gebastelt: Mehrseitigen Text drucken

    Sehr empfehlen würde ich auch, die Eigenwerbung da rauszunehmen - ich weiß nicht, wie deine Kollegen drauf sind, aber ich fände das bisserl abstoßend.

    vbfuzzi44 schrieb:

    vielleicht gibt es ja eine schönere Übersetzung ?
    Wir gehen hier höflich miteinander um, da werden keine Namen übersetzt oder die Groß-und Kleinschreibung geändert, da wird der Name einfach abgeschrieben (kopiert).
    Und: Das ist keine Farbe, das ist ein Kürzel meines Namens.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Datagridview und Text darunter drucken Fortschritt aber zweiter Ausdruck unbefriedigend

    nun bin ich wirklich enttäuscht. Der erste Ausdruck des Datagridviews ist super (Bild 1) Jeder nachkommende aber wie in Bild 2 sind die Zeilen alle verkleinert. Was ist da wohl wieder los ??
    Bilder
    • Rezept_DruckAnsicht1.png

      158,79 kB, 613×558, 323 mal angesehen
    • Rezept_DruckAnsicht2.png

      151,62 kB, 652×487, 326 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vbfuzzi44“ ()

    Der Druck hat überhaupt nichts mit der Bildsxchirmdarstellung zu tun, es sei denn, Du druckst Bildschirmkopien.
    Die Druckrputine malt einfach den Inhalt in einen Druck-Kontext.
    Kann es sein, dass Du mit Seite 2 eine andere Zeilenhöhe vorgibst oder eine Variable anders initialisiert wird?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    nimm dir den Rat von RodFromGermany zu Herzen und beshäftige dich mit der Druckerei in VB.NET
    denn nur so erzihlst du langfristig gute ergebnisse, alles ander ist murks.

    und jetzt kommt mein Tip (wenn du soweit bist):
    1. schalte den computer aus, nimm dir ein Blatt Papier und zeichne das was du haben willst per Hand drauf.
    2. computer einschalten, und das gezeichnete in code umsetzen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dizzy“ ()