C# ListView – jak stworzyć ListBox z wieloma kolumnami?

2-wrz-2011

Ostatnimi czasy potrzebna była kontrolka prezentująca dane poukładane ładnie w wierszach i kolumnach, ale z pewnych względów nie można było użyć DataGridView. DataGridView to potężne narzędzie, a nie zawsze trzeba używać armaty…

Rozwiązaniem okazała się prezentacja danych za pomocą ListView. ListView definiuje kolumny, ich szerokości oraz pozwala na dodawanie pozycji wierszy (Item), które posiadają „podpozycje” (SubItem). Owe podpozycje to po prostu dane, które należy umieścić w kolejnych kolumnach kontrolki. Zobaczmy to w szczegółach:

  1. Zaczynamy od umieszczenia na formie kontrolki ListView
  2. Wypełniamy kolekcję Columns:
  3. Teraz pora na rekordy. Wypełniamy kolekcję Items (na szczególną uwagę zasługuje właściwość Text oraz SubItems. O ile tekst to nazwa danego wiersza, o tyle subitems pozwala zdefiniować dalsze kolumny):
  4. Teraz przy każdym Item należy jeszcze wypełnić SubItem (Wypełniasz właściwość Text):
  5. Jeżeli zmienisz właściwość View na Details, to efekt powinien być taki:

 

Oczywiście czynności te można wykonać programowo:

        private void Form1_Load(object sender, EventArgs e)
        {
            listView1.View = View.Details;
            listView1.Columns.Clear();
            listView1.Columns.Add("Name");
            listView1.Columns.Add("Price");
            listView1.Columns.Add("Quantity");
            listView1.Items.Clear();
            listView1.Items.Add("Banana");
            listView1.Items[0].SubItems.Add("3,00");
            listView1.Items[0].SubItems.Add("5,00");
        }

Tym razem tyle mi wystarczyło… A Ty do czego chcesz wykorzystać ListBox’a?

Komentarze:

  1. Mark napisał,

    Good example for ListView.

  2. s napisał,

    fajne!

  3. Tajemniczy napisał,

    Świetne :), tak szukałem sposobu i przykładu zamontowania ListView :D, Twój przykład nie dość że jest bardzo łatwy to i świetnie pokazany :), dzięki wielkie :).

Autor: Rafał Kraik