none
ListView mit SubItems Drucken RRS feed

  • Allgemeine Diskussion

  • Hallo,

    Ich möchte gerne die Items aus einem ListView ausdrucken also im Stil von 

    Name :                   Nachname:  usw.

    -                                -

    -                                -

    -                                -

    Geht das??

    und wenn es geht geht dass dann auch dass man sich zuerst den Drucker auswählt mit dem Mann drucken möchte ??

    Ich habe da keine Ahnung ich weiß zwar wie man einen Text aus einer Textbox ausdruckt(Ohne Drucker auswahl) aber nicht wie mann alle items aus einer ListView ausdruckt und zuvor den Drucker auswählt

    Kann mir da jemand helfen `??!

    • Typ geändert Ionut DumaModerator Montag, 21. Oktober 2013 15:19 Keine Rueckmeldung des Fragenstellender
    Dienstag, 1. Oktober 2013 13:22

Alle Antworten

  • Hallo,
    erstes Ergebnis bei Bing.

    Anschließend habe ich die Print-Methode etwas editiert:

        Public Sub Print()
            Dim n As New PrintDialog()'Zur Druckerauswahl
            n.UseEXDialog = True
            n.Document = PD'Dokument
            If n.ShowDialog() = DialogResult.OK Then'Drucken?
                PD.PrinterSettings = n.PrinterSettings'Einstellungen zuweisen
                PD.Print()'Drucken
            End If
        End Sub
    Ob der Standartdialog eine Druckerauswahl überhaupt zulässt weiß ich nicht. Finden konnte ich dazu jedenfalls nicht. Aber der Benutzer sieht die Listview ja so vor sich, wie sie am Ende gedruckt wird. Deshalb erachte ich es auch nicht als das wichtigste Thema.
    In diesem Zusammenhang sei aber noch auf die PageSetupDialog-Klasse verwiesen.

    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Dienstag, 1. Oktober 2013 13:56
    Moderator
  • Wenn ich das alles gemacht habe ist meine Form weg und es wird nur noch eine leere Form angezeigt .

    HILFE "!

    Dienstag, 1. Oktober 2013 15:48
  • Also wenn du dich zu 100% an die Anleitung gehalten hast (wie ich es tat), dann kann auch nix schief gehen.

    Von daher, poste endlich mal sofort Fehlermeldungen bzw. was du gemacht hast, ohne das es jedes mal jemand schreiben muss. Sonst antwortet vielleicht irgendwann garkeiner mehr...

    Wenn ich nun mal wieder rate...dann hast du ein neues Projekt angelegt....und nun denke mal nach...
    > wie gesagt, ist nur geraten. Mehr kann ich aber auch nicht sagen.


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Dienstag, 1. Oktober 2013 16:23
    Moderator
  • Gelöscht!? - egal

    In deinem Hauptprojekt solltest du versuchen, einfach alles wieder rückgängig zu machen.

    Das Beispiel kannst du mal in einem extra-Projekt testen. Dort brauchst du wirklich nur 2 Buttons und eine ListView auf die Form im Designer ziehen und den Code einfügen. Im Designer musst da dafür nichts weiter einstellen.

    PS: Ich bin auch nur Hobbyprogrammierer, momentan 17 Jahre alt und programmiere seit 2 Jahren mit C#, VB.NET lernte ich nur so nebenbei, genauso wie F#.
    Nunja, ich interessiere mich auch "überdimensioniert" für Informatische Dinge, aber so bin ich halt ;)
    Das soll nur heißen, das man auch als Hobbyprogrammierer solche Dinge kann.
    Bei mir bestand vor allem viel darin Bücher zu lesen und im Internet zu recherchieren. Meine Fragen waren Anfangs auch wie deine. Nur das man ab einem gewissen Punkt das meiste selbst hinbekommen sollte.
    Bei dieser Frage habe ich auch nur im Internet gesucht, dann diese Lösung gefunden, sie schnell angetestet und für funtionsfähig befunden. So läuft es bei vielen Fragen.


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Dienstag, 1. Oktober 2013 19:19
    Moderator
  • Gut zu wissen dass ich nicht der einzige bin der sich speziell mit Computer und Co auseinander setzt,

    PS: und wenn wir gerade schon dabei sind. ICH BIN 14

    Dienstag, 1. Oktober 2013 21:08
  • Im Sub PD_PrintPage wenn kommt dann dieser Error

     rf = New Rectangle(PosX, PosY, SpaltenBreite(OffsetSpalte + MerkerSpalte), TextHöhe)

    Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.

    Mittwoch, 2. Oktober 2013 13:11
  • Im Sub PD_PrintPage wenn kommt dann dieser Error

     rf = New Rectangle(PosX, PosY, SpaltenBreite(OffsetSpalte + MerkerSpalte), TextHöhe)

    Der Index lag außerhalb des Bereichs. Er muss nicht negativ und kleiner als die Auflistung sein.

    Ich glaube das Problem liegt in diesem Teil:

        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            ListView1.View = View.Details
    
            Dim x As Integer
            Dim y As Integer
    
            For x = 0 To 15
                ListView1.Columns.Add("Spalte" & x.ToString)
            Next
    
            ListView1.Columns(5).TextAlign = HorizontalAlignment.Right
            ListView1.Columns(5).Width = 200
    
            For y = 0 To 40
                ListView1.Items.Add("Zeile" & y.ToString & " / Spalte1")
                If y Mod 2 = 0 Then ListView1.Items(y).BackColor = Color.LightGray
                For x = 1 To 15
                    ListView1.Items(y).SubItems.Add("Zeile" & y.ToString & " / Spalte" & x.ToString)
                Next
            Next
    
            ListView1.Items(3).ForeColor = Color.Blue
            ListView1.Items(7).UseItemStyleForSubItems = False
            ListView1.Items(7).SubItems(1).ForeColor = Color.Red
    
            ListView1.GridLines = True
    
            PrintListView = New TestDrucken.PrintListView(ListView1)
            PrintListView.AutoSizeColumn = PrintListView.SizeColumn.AutoSitze
            PrintListView.HeaderColor = Color.LightBlue
        End Sub

    Aber ich möchte ja meine eigene ListView Drucken nicht eine Vorgefertigte 

    Mittwoch, 2. Oktober 2013 13:14
  • Der von dir gelistete Code erzeugt Beispieldaten in der ListView.

    Kommentiere mal der Form1_Load-Sub aus. Vor dem aufruf der Print-Methode musst du nun noch das PrintDocument neu erstellen:

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            PrintListView = New PrintListView(ListView1)
            PrintListView.AutoSizeColumn = PrintListView.SizeColumn.AutoSitze
            PrintListView.HeaderColor = Color.LightBlue
            ' ohne Vorschau drucken
            PrintListView.Print()
        End Sub
    Bei der Druckvorschau müsste es genauso aussehen. Eventuell sieht es nun anders aus, weil die GridLines nicht angezeigt werden o.ä. Das liegt daran, das der Beispielcode alles im Codebehind festlegt und die Klasse diese Festlegungen ausfragt.


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Mittwoch, 2. Oktober 2013 14:13
    Moderator
  • **************************************************************************************************
    Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
    Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
    **************************************************************************************************

    Ionut Duma, MICROSOFT   Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-PrinzipEntwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 21. Oktober 2013 15:19
    Moderator