Laden...

LestView, hinzufügen von Subitems?

7 Antworten
1,505 Aufrufe
Letzter Beitrag: vor 18 Jahren
LestView, hinzufügen von Subitems?

Wie kann ich mehrere strings, die ich aus einem txt File mit StreamReader harausgelesen habe und anschließend in ein Array gepackt habe, in einer Listview ausgeben.
Ich habe es mit einer Schleifenkonstruktion versucht, und mit der add Methode von ListView. Allerdings wird bei mir garnichts ausgegeben???
Ich bitte um eure Hilfe.

Hallo csMatt,

um SubItems anzuzeigen brauchst du die DetailsView mit entsprechend vielen Spalten.

Dann die SubItems an ein ListViewItem hinzufügen.

Bsp:
DetailsView mit Spalten Vorname, Nachname, Alter

ListViewItem lviBernd mit Text Bernd.
SubItem dem lviBernd hinzufügen mit Text Brotzeit
SubItem dem lviBernd hinzufügen mit Text 18

In der DetailsView dürftest du dann alles sehen können.

Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de

public static void read(string sourcepath, System.Windows.Forms.ListView listView)
        {
            System.Windows.Forms.ListViewItem[] item;
            System.Windows.Forms.ListViewItem.ListViewSubItem[] subItem;
            System.IO.StreamReader sr;
              
            sr = File.OpenText(sourcepath);
            string line;

            while (sr.EndOfStream == false)
            {
                line = sr.ReadLine();
                string[] tok = line.Split(';');
                listView.Items.Clear();
                item = new ListViewItem[tok.Length / listView.Columns.Count];
                subItem = new ListViewItem.ListViewSubItem[tok.Length];

                for (int i = 0; i < listView.Items.Count; i++)
                {
                    for (int j = 0; j < tok.Length; j++)
                    {
                        subItem[j].Text = tok[j];
                        item[i].SubItems.Add(subItem[j]);
                    }
                }
                
            }

Danke für deine Hilfe, grundsätslich weis ich schon wie man eine ListView erzeugt.
Aber wie du an dem Codesample sicher erkennen kannst habe ich was vergessen.
Es wird mir leider nichts in meiner ListView angezeigt.

Ich lese ja die Zeichenketten aus einem csv-File heruas und Schneide mir die substrings mit der Split Methode heraus. Diese möchte ich dann in Subitems hinzufügen.

Hallo csMatt,

listView.Items.Clear() innerhalb der Schleife ist wohl quatsch. Und dann musst die Items natürlich mit Add den ListView.Items hinzufügen.

Ein Weg uns zu entlasten wäre gewesen, das Code-Beispiel in der :rtfm: Doku anzuschauen.

herbivore

Ok ,danke habs eh schon geändert.
Ich hab vergessen die Items zu adden und außerdem viele unnötige array im code gehabt. Und das mit dem Clear() ist auch völlig falsch, weis auch nicht warum das da drin steht???

Nochmal danke, jetzt funkt alles.

herbivore du bist ein Master
Ich bin beeindrucktm hab mich im Forum umgesehen und deine Beiträge gelesen.
Echt gut!!!
Verwendest du C# (und andere Programmiersprachen) nur als Hobby oder auch beruflich?

Hallo csMatt,

danke für die Blumen. Ich habe auch schon beruflich C# programmiert. Momentan mach ich das aber nur als Hobby.

herbivore