Vytvoření skupiny v ListView v ListViewGroup)

Jak už jsem řekl několikrát, ovládací prvek ListView je jedna z nejvíce použití při vývoji aplikace v jazyce Visual Basic. Net.

Dnes jsem chtěl ukázat způsob, jak získat více z této kontroly a také ponechat mnohem více atraktivní vytváření skupin a využití obrázek na pozadí.

Například potřebujeme: formu a ListView. By měl vypadat jako na následujícím obrázku:

Chcete-li zobrazit výsledky, potřebujeme data, a pro který jsem vytvořil DataTable v paměti a naplnil ji čtyři záznamy. Pole jsou jméno, příjmení, telefon a umístění.

Chci ukázat, v tomto příkladu si seznam lidí, s jejich jmény a telefonními čísly seskupených podle umístění. Nejprve analyzovat následující kód, pokud chcete vyzkoušet, jak to funguje a já ti to vysvětlím pár věcí.

 Dim dt As New DataTable
 dt.Columns.Add ("Name")
 dt.Columns.Add ("Name")
 dt.Columns.Add ("telefon")
 dt.Columns.Add ("město")

 Dim dr Jak DataRow = dt.NewRow

 dr ("Name") = "John"
 dr ("Name") = "Novák"
 dr ("telefon") = "4587-9546"
 dr ("Location") = "blbec"
 dt.Rows.Add (dr)

 dr = dt.NewRow
 dr ("Name") = "Marcelo"
 dr ("Name") = "Roland"
 dr ("telefon") = "7415-8945"
 dr ("Location") = "blbec"
 dt.Rows.Add (dr)

 dr = dt.NewRow

 dr ("Name") = "Javier"
 dr ("Name") = "Martinez"
 dr ("telefon") = "4567-9654"
 dr ("Location") = "Castelar"
 dt.Rows.Add (dr)

 dr = dt.NewRow

 dr ("Name") = "Estevan"
 dr ("Name") = "Vazquez"
 dr ("telefon") = "9452-4515"
 dr ("Location") = "Castelar"
 dt.Rows.Add (dr)

 ListView1.FullRowSelect = True
 ListView1.MultiSelect = False

 Dim As String = grupoActual String.Empty

 Dim g As New ListViewGroup

 Pro každý r As DataRow V dt.Rows

 Jestliže r ("město"). ToString <> Pak grupoActual
 Nový ListViewGroup g = (r ("město"). ToString)
 grupoActual = r ("město"). ToString
 ListView1.Groups.Add (g)
 End If

 Dim položku jako novou ListViewItem ("")
 item.SubItems.Add (r ("Name"). ToString)
 item.SubItems.Add (r ("Last Name"). ToString)
 item.SubItems.Add (r ("telefon"). ToString)
 item.Group = g

 ListView1.Items.Add (položka)
 Další

No, první řádky se vztahují na vytvoření DataTable a plnění dat a nebude komentovat. Soustřeďte se na to, jak vyplnit ListView.

Nejdříve jsem vytvořil pro každý procházet všechny záznamy v tabulce mám v paměti. Pak jsem vytvořit textovou proměnnou odst. grupoActual) uložit název skupiny (Konečně jsem přidal ListView) a také jsem si objekt ListViewGroup (g). První věc, kterou udělám, kdo se záznamy je přiřadit stránkách (což je obor chci pracovat jako skupina), aby ListView1 a udržet tato data v proměnné grupoActual pro budoucí srovnání. Pak účtovat ListViewItem jako vždy na rozdíl od toho vyplynulo, že tato položka patří do skupiny "G", přidal položku ListView1 a připravené. Procházející dalších záznamů a provést srovnání pouze vytvořit novou skupinu, kdy se město změní.

Výsledek bude vypadat takto:

Nyní za vše, co vypadali lépe, doporučuji vytvořit obraz pro pozadí. Myslím, že jsem zmínil, že jsem raději Photoshop, ale můžete použít libovolný grafický editor k vytvoření JPG pro použití v pozadí. Všimněte si, že barvy by neměla být příliš silná, protože to je difilcultará čtení údajů.

Zde jsem opustit obraz, který jsem použít v tomto příkladu:

Pokud jej chcete použít pouze z vlastností ListView, najít BackgroundImage a pak přidat obrázek, jak je uvedeno níže:

a můžete také změnit vlastnost na hodnotu true a připraven BackgroundImageTiled. Ukážu konečný výsledek:

To je to, doufám, že slouží.

12 Reakce na "Vytvoření skupiny v ListView odst. ListViewGroup)"

  1. Bitacoras.com říká:

    Informace Bitacoras.com ...

    Míra Bitacoras.com: Jak už jsem řekl několikrát, ovládací prvek ListView je jedna z nejvíce použití při vývoji aplikace v jazyce Visual Basic Net.. Dnes jsem chtěl ukázat způsob, jak získat více z této kontroly a také Dej ...

  2. Cesar řekl:

    Vynikající příklad jiného druhu použití ListView.

    mia otázka a Hledal jsem všude dříve, než dotazem je, jak umožnit clustery vytisknout ListView.

    díky

  3. Emilio Rafael Rios Garcia říká:

    Ahoj, jak se o moje otázka je ...
    A jak to dělá, aby chodili na skupinu ListView podle skupin?

  4. Anonymní říká:

    Dobrý den, chtěla jsem vědět, jak to udělat, aby odstranit vybrané položky v ListView.
    Děkuju.

  5. Alejandro říká:

    Jedná se o velmi dobrý příklad, já jsem uvedení do praxe, ale mám problém například: mé skupiny jsou uživatelsky modul.
    Moje otázka zní: Jak jsem se ukázat druhou skupinu?
    Například v příkladu odešlete vám item.group = g
    Co když i já chci ukázat h skupiny ve sloupci podpoložek?
    Kost mi ukázat uživatele (skupina), mod (v jiné skupině) a pak zbytek.
    Oceňuji váš čas a pozdravem.

  6. Christian říká:

    jak mohu připojit ListView s přístupovými ¿?
    Jsem ukázat, že údaje v každém sloupci bd

  7. Li řekl:

    V posledním řádku = listView1.Items.Add (položka) dostanu následující chybu:

    Nelze přidat nebo vložit položku "ve více než jednom místě. Musí odstranit z aktuálního umístění, nebo naklonovat to.
    Název parametru: položka.

    Já zkouším to. Net 2008, protože to je chyba?

  8. Federico říká:

    Promiň, že jsem vb.NET sonda v roce 2008 a nefunguje.

    • Elisha říká:

      Federico: Když jsem tento příspěvek, příklady jsem pomocí Visual Studio 2008 a pracují. Radím vám to zkusit znovu pozor na kroky.

      Štěstí.

  9. Jorge říká:

    Dobrý den, Zdravím! Chtěl vědět, jak se skupiny buněk by v ListView a že tato kontrola se nesmí slučovat majetek. Čekání na výrobu mi to vysvětlit.

    =)

  10. Carlos říká:

    Dobrý den, dobrý příspěvek sloužil mi dobře,
    ale já bych vědět, nebo by mi pomohl vyřešit každou skupinu, aby realizaci projektu jsem vytvořil pomocí
    předem díky

  11. Sergio Hernandez řekl:

    Skvělá práce, kopírování a vkládání. Funguje dobře.

    Zdravím a díky

Komentář