none
ListView RRS feed

  • Frage

  • Hallo Leute,

    ich habe 4 Listen, jede Liste soll in einer Spalte der ListView stehen. Wie mache ich das??

    Also filter in Filterspalte und sum in Summe?

    public partial class Form2 : Form { public List<String> filter; public List<String> count;

    public Form2(Dictionary<String, List<String>> f_filters, List<String>s_count, List<String>s_sum, List<String>s_distinct, List<String>s_groupBy) { InitializeComponent(); filters = f_filters; count = s_count; } private void Form2_Load(object sender, EventArgs e) { listView1.View = View.Details; listView1.GridLines = true; listView1.FullRowSelect = true; //Add column header listView1.Columns.Add("Summe", 150); listView1.Columns.Add("Filter", 150);

    listView1.Columns.Add("Endergebnis", 150);

    }

    danke im Voraus
    Donnerstag, 4. Oktober 2012 07:52

Antworten

  • Die erste Spalte is ein Item, nicht ein SubItem.

                List<String> l = new List<String> { "Test", " 2Test", "3Test" };
                List<String> al = new List<String> { "Test", "2Test", "3Test" };
                List<String> bl = new List<String> { "Test", "2Test", "3Test"};
                List<String> cl = new List<String> { "Test", "2Test", "3Test"};
                ListViewItem item1 = new ListViewItem("Hallo1");
                ListViewItem item2 = new ListViewItem("Hallo1");
                ListViewItem item3 = new ListViewItem("Hallo1");
                ListViewItem item4 = new ListViewItem("Hallo1");
        
                for (int i = 0; i < 3; i++)
                {
                    item1.SubItems.Add(l[i]);
                    item2.SubItems.Add(al[i]);
                    item3.SubItems.Add(bl[i]);
                    item4.SubItems.Add(cl[i]);
                }
    Mittwoch, 10. Oktober 2012 10:31
  • Hi,

    ungetestet habe ich mal folgendes gemacht :

    	public partial class Form1 : Form
    	{
    		public Form1()
    		{
    			InitializeComponent();
    		}
    
    		private void FillListView()
    		{
    			List<MyObject> objects = new List<MyObject>(){new MyObject(){ValueA = "A",ValueB = "B",ValueC = "C",ValueD = "D"}};
    			listView1.Columns.Add("Auswahl", 150);
    			listView1.Columns.Add("Filter", 150);
    			listView1.Columns.Add("Gruppierung", 150);
    			listView1.Columns.Add("Resultat", 150);
    			foreach (var o in objects)
    			{
    				var sub = new ListViewItem();
    				sub.SubItems.Add(o.ValueA);
    				sub.SubItems.Add(o.ValueB);
    				sub.SubItems.Add(o.ValueC);
    				sub.SubItems.Add(o.ValueD);
    				listView1.Items.Add(sub);
    			}
    		}
    	}
    
    	internal class MyObject	
    	{
    		public string ValueA { get; set; }
    		public string ValueB { get; set; }
    		public string ValueC { get; set; }
    		public string ValueD { get; set; }
    	}

    Grüße

    Donnerstag, 11. Oktober 2012 08:39

Alle Antworten

  • Hallo trap12,

    schau dir mal folgenden Link an.

    Schönen Gruss,

    LittleBlueBird

    Donnerstag, 4. Oktober 2012 12:12
  • Hallo;

    in der ersten Spalte wird nichts eingefügt. Wisst ihr wie man das macht?

            private void Form1_Load(object sender, EventArgs e)
            {
                listView1.View = View.Details;
                listView1.GridLines = true;
                listView1.FullRowSelect = true;
                List<String> l = new List<String> { "Hallo1", "Test", " 2Test", "3Test" };
                List<String> al = new List<String> { "Hallo1", "Test", "2Test", "3Test" };
                List<String> bl = new List<String> { "Hallo1", "Test", "2Test", "3Test"};
                List<String> cl = new List<String> { "Hallo1", "Test", "2Test", "3Test"};
                ListViewItem item1 = new ListViewItem();
                ListViewItem item2 = new ListViewItem();
                ListViewItem item3 = new ListViewItem();
                ListViewItem item4 = new ListViewItem();
        
                for (int i = 0; i < 4; i++)
                {
                    item1.SubItems.Add(al[i]);
                    item2.SubItems.Add(al[i]);
                    item3.SubItems.Add(bl[i]);
                    item4.SubItems.Add(cl[i]);
                }
                //Add column header
                listView1.Columns.Add("Auswahl", 150);
                listView1.Columns.Add("Filter", 150);
                listView1.Columns.Add("Gruppierung", 150);
                listView1.Columns.Add("Resultat", 150);
                listView1.Items.AddRange(new ListViewItem[] { item1, item2, item3, item4 });
                this.Controls.Add(listView1);
            }

    danke im Voraus!
    Mittwoch, 10. Oktober 2012 07:00
  • Die erste Spalte is ein Item, nicht ein SubItem.

                List<String> l = new List<String> { "Test", " 2Test", "3Test" };
                List<String> al = new List<String> { "Test", "2Test", "3Test" };
                List<String> bl = new List<String> { "Test", "2Test", "3Test"};
                List<String> cl = new List<String> { "Test", "2Test", "3Test"};
                ListViewItem item1 = new ListViewItem("Hallo1");
                ListViewItem item2 = new ListViewItem("Hallo1");
                ListViewItem item3 = new ListViewItem("Hallo1");
                ListViewItem item4 = new ListViewItem("Hallo1");
        
                for (int i = 0; i < 3; i++)
                {
                    item1.SubItems.Add(l[i]);
                    item2.SubItems.Add(al[i]);
                    item3.SubItems.Add(bl[i]);
                    item4.SubItems.Add(cl[i]);
                }
    Mittwoch, 10. Oktober 2012 10:31
  • hallo,

    danke erstmals für die Antwort!

    Gibt es eigentlich auch eine andere Möglichkeit die Spalten zu füllen?

    Bei mir sind es zum Teil über 100 Einträge pro Spalte. Und jedes mal eine neues ListViewItem herzustellen ( in forschleife), ist ja nicht wirklich sinnvoll oder?

    Güße trap12

    Donnerstag, 11. Oktober 2012 07:29
  • Hi,

    ungetestet habe ich mal folgendes gemacht :

    	public partial class Form1 : Form
    	{
    		public Form1()
    		{
    			InitializeComponent();
    		}
    
    		private void FillListView()
    		{
    			List<MyObject> objects = new List<MyObject>(){new MyObject(){ValueA = "A",ValueB = "B",ValueC = "C",ValueD = "D"}};
    			listView1.Columns.Add("Auswahl", 150);
    			listView1.Columns.Add("Filter", 150);
    			listView1.Columns.Add("Gruppierung", 150);
    			listView1.Columns.Add("Resultat", 150);
    			foreach (var o in objects)
    			{
    				var sub = new ListViewItem();
    				sub.SubItems.Add(o.ValueA);
    				sub.SubItems.Add(o.ValueB);
    				sub.SubItems.Add(o.ValueC);
    				sub.SubItems.Add(o.ValueD);
    				listView1.Items.Add(sub);
    			}
    		}
    	}
    
    	internal class MyObject	
    	{
    		public string ValueA { get; set; }
    		public string ValueB { get; set; }
    		public string ValueC { get; set; }
    		public string ValueD { get; set; }
    	}

    Grüße

    Donnerstag, 11. Oktober 2012 08:39
  • Hallo trap12,

    Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


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

    Freitag, 26. Oktober 2012 09:55
    Moderator