Csoportok létrehozása a ListView (ListViewGroup)

Mint mondtam többször is, a ListView vezérlő egyik legtöbbet fejlődő, amikor egy alkalmazás a Visual Basic. Net.

Ma meg akarom mutatni a módját, hogy minél több ebből a kontroll és hagyjuk sokkal vonzóbb csoportok létrehozásával és használatával egy háttérkép.

Például szükségünk van: egy űrlap és egy ListView. Fog kinézni a következő képen:

Az eredményeket adatokra van szükségünk, és ezért hoztam létre egy DataTable a memóriában, és megtöltötte a négy rekordot. A mezők keresztnév, vezetéknév, Telefon és helyét.

Meg akarom mutatni ebben a példában egy listát az embereket, hogy a neveket és telefonszámokat helyre csoportosítva. Először elemezni a következő kód, ha ki szeretnénk próbálni, hogy hogyan működik majd leírom egy pár dolgot.

 Dim dt As New DataTable
 dt.Columns.Add ("Név")
 dt.Columns.Add ("Név")
 dt.Columns.Add (a "telefon")
 dt.Columns.Add ("City")

 Dim dr Mint DataRow = dt.NewRow

 DR ("Name") = "János"
 DR ("Name") = "Smith"
 DR ("Phone") = "4587-9546"
 DR ("Hely") = "Idióta"
 dt.Rows.Add (dr)

 dr = dt.NewRow
 DR ("Name") = "Marcelo"
 DR ("Name") = "Roland"
 DR ("Phone") = "7415-8945"
 DR ("Hely") = "Idióta"
 dt.Rows.Add (dr)

 dr = dt.NewRow

 DR ("Name") = "Javier"
 DR ("Name") = "Martinez"
 DR ("Phone") = "4567-9654"
 DR ("Hely") = "Castelar"
 dt.Rows.Add (dr)

 dr = dt.NewRow

 DR ("Name") = "Estevan"
 DR ("Name") = "Vazquez"
 DR ("Phone") = "9452-4515"
 DR ("Hely") = "Castelar"
 dt.Rows.Add (dr)

 ListView1.FullRowSelect = True
 ListView1.MultiSelect = False

 As String Dim = String.Empty grupoActual

 Dim g As New ListViewGroup

 Az egyes R DataRow A dt.Rows

 Ha r ("City"). ToString <> Akkor grupoActual
 Új ListViewGroup g = (r ("City"). ToString)
 grupoActual = r ("City"). toString
 ListView1.Groups.Add (g)
 End If

 Dim Új elem ListViewItem ("")
 item.SubItems.Add (r ("Név"). toString)
 item.SubItems.Add (r ("Last Name"). toString)
 item.SubItems.Add (r (a "telefon"). toString)
 item.Group = g

 ListView1.Items.Add (tétel)
 Következő

Nos, az első sorokat olvassa el a DataTable létrehozását és feltöltését, és az adatok nem fog szólni. Koncentrálj hogyan kell kitölteni a ListView.

Először hozzon létre egy For Each ciklus segítségével az összes rekordot a táblázatban van a memóriában. Aztán hozzon létre egy szöveges változó (grupoActual), hogy mentse a csoport neve (az utolsó tettem hozzá a ListView) és én is úgy gondolom, egy tárgyat ListViewGroup (g). Az első dolog, amit tehetek, hogy indul meg a rekordok rendelni a honlapon (ami a területen szeretnék dolgozni, mint egy csoport), és ListView1 tartani, hogy a változó adatokat grupoActual jövőbeni összehasonlításokat. Akkor számol fel ListViewItem mint mindig, hogy ellentétben jelezte, hogy ezt az elemet csoportjába tartozó "g", tette hozzá az elemet ListView1 és kész. Áthaladó egyéb adatait és hajtsa végre az összehasonlítást csak hozzon létre egy új csoportot, ha változik a város.

Az eredmény így fog kinézni:

Most mindent jobban is néznek ki, azt ajánlom létre egy képet a háttérben. Azt hiszem, említettem, hogy én inkább Photoshop, de használható bármilyen képszerkesztő hogy hozzon létre egy JPG használata a háttérben. Ne feledje, hogy a színek ne legyen nagyon erős, mert ez difilcultará az adatok olvasása.

Itt hagyok egy képet, amit használni ebben a példában:

A használatához egyszerűen a tulajdonságok a ListView, keresse meg a BackgroundImage majd adja hozzá a képet az alábbiak szerint:

és akkor is meg kell változtatni a tulajdonságot True BackgroundImageTiled és kész. Megmutatom a végeredményt:

Ennyi, remélem szolgálnak.

11 Responses to "csoportokat létrehozni egy ListView (ListViewGroup)"

  1. Bitacoras.com mondja:

    Információ Bitacoras.com ...

    Értékeld az Bitacoras.com: Mint mondtam többször is, a ListView vezérlő egyik legtöbbet fejlődő, amikor egy alkalmazás a Visual Basic. Net. Ma meg akarom mutatni a módját, hogy minél több ebből a szabályozás és Dej is ...

  2. Cesar azt mondta:

    Kiváló példa más típusú felhasználási listview.

    mia kérdés és mindenhol kerestem, mielott az, hogy hogyan teszi ezt a ListView fürtözött nyomtatni.

    köszönöm

  3. Emilio Garcia Rafael Rios azt mondja:

    Hé, mi lenne a kérdésem ...
    És ahogyan azt járni a ListView csoportonként?

  4. Anonymous szerint:

    Helló, meg akartam tudni, hogyan kell törölni a kiválasztott elemet a ListView.
    Köszönöm.

  5. Alejandro mondja:

    ez nagyon jó példa, én meg kell valósítani, de van egy probléma, pl: én csoportok felhasználói modul.
    A kérdésem a következő: Ahogy azt mutatják, a második csoportban?
    Például a példád akkor tegye meg item.group = g
    Mi van, ha én is meg akarom mutatni egy csoport h az oszlop alpontok?
    Csont mutasd felhasználó (csoport), modulo (másik csoport), majd a többit.
    Nagyra értékelem az idődet és üdvözlettel.

  6. Christian azt mondja:

    mivel tudom csatlakoztatni a ListView a hozzáférés ¿?
    Megmutatom, hogy az adatok minden oszlopban BD

  7. Li azt mondja:

    Az utolsó sor = listView1.Items.Add (tétel) kapom a következő hiba:

    Nem lehet hozzáadni vagy helyezze az elemet "több mint egy oldalon. El kell távolítania a jelenlegi helyéről, vagy klónozza azt.
    Paraméter neve: elem.

    Én tesztelni. Net 2008, mert ez hiba?

  8. Federico azt mondja:

    Bocs vb.NET szonda 2008-ban, és nem működik.

    • Elizeus azt mondja:

      Federico: Mikor készült ez a poszt, a példák azt tette a Visual Studio 2008 és működnek. Azt tanácsolom, hogy próbálja meg újra figyel a lépéseket.

      Luck.

  9. Jorge azt mondja:

    Jó reggelt, Üdvözlet! szerette volna tudni, hogyan kívánja csoportosítani sejtek tenné a ListView, és ez a kontroll nem keverendő össze tulajdon. Várakozás hogy nekem megmagyarázni.

    =)

  10. carlos mondja:

    Hello Good hozzájárulása szolgált engem,
    de én tudom, vagy segíthet nekem, hogy minden csoport rendezni annak érdekében, hogy a projekt megvalósítására dolgoztam ki a
    előzetesen a

Hozzászólás