Създаване на групи в гледания (ListViewGroup)

Както казах няколко пъти, контрол гледания е един от най-използвания при разработването на приложение в Visual Basic. NET.

Днес искам да покажа начин да получите повече от този контрол, а също и оставят много по-привлекателен чрез създаване на групи и използването на фоново изображение.

Например, ние трябва: форма и милион гледания. Трябва да изглежда изображението по-долу:

За да покажете резултатите, които се нуждаят от данни, и за това съм създал DataTable в паметта и я напълниха с четири записа. Полетата са име, фамилно име, телефон и местоположение.

Искам да покажа в този пример, списък на хората, с техните имена и телефонни номера, групирани по местоположение. Първо да анализират следния код, ако искате да се опитаме да видим как работи и тогава аз ще обясня няколко неща.

 На Дим DT Нова DataTable
 dt.Columns.Add ("Име")
 dt.Columns.Add ("Име")
 dt.Columns.Add ("Телефон")
 dt.Columns.Add ("Сити")

 Дим д-р като DataRow = dt.NewRow

 Д-р ("Име") = "Джон"
 Д-р ("Име") = "Смит"
 Д-р ("Телефон") = "4587-9546"
 Д-р ("Местоположение") = "Морон"
 dt.Rows.Add (DR)

 Д-р = dt.NewRow
 Д-р ("Име") = "Марсело"
 Д-р ("Име") = "Ролан"
 Д-р ("Телефон") = "7415-8945"
 Д-р ("Местоположение") = "Морон"
 dt.Rows.Add (DR)

 Д-р = dt.NewRow

 Д-р ("Име") = "Хавиер"
 Д-р ("Име") = "Мартинез"
 Д-р ("Телефон") = "4567-9654"
 Д-р ("Location") = "Castelar"
 dt.Rows.Add (DR)

 Д-р = dt.NewRow

 Д-р ("Име") = "Estevan"
 Д-р ("Име") = "Васкес"
 Д-р ("Телефон") = "9452-4515"
 Д-р ("Location") = "Castelar"
 dt.Rows.Add (DR)

 ListView1.FullRowSelect = True
 ListView1.MultiSelect = False

 , Дим Като String = String.Empty grupoActual

 Дим грама Нова ListViewGroup

 За всеки R As DataRow В dt.Rows

 Ако R ("Градът"). ToString <> Тогава grupoActual
 Нова ListViewGroup G = (R ("Градът"). ToString)
 grupoActual = R ("Градът"). ToString
 ListView1.Groups.Add (ж)
 Крайна сметка, ако

 Неясен елемент като Ню ListViewItem ("")
 item.SubItems.Add (R ("Име"). ToString)
 item.SubItems.Add (R ("Фамилия"). ToString)
 item.SubItems.Add (R ("Телефон"). ToString)
 item.Group = G

 ListView1.Items.Add (т.)
 До

Е, първите редове се отнасят до създаването на DataTable и попълване на данни и няма да коментирам. Концентрирайте се върху това как да попълните на гледания.

Първо се създаде За всеки цикъл през всички записи в таблицата, които имам в паметта. Тогава се създават текст променливата (grupoActual), за да запишете името на групата (последното добавих гледания) и аз също мисля, един обект ListViewGroup, (G). Първото нещо, което правя, за да започнат записите е да се зададе на сайта (което е областта, искам да работя като група), за да ListView1 и съхранява тези данни в променливата grupoActual за бъдещи сравнения. След това се начислява ListViewItem, както винаги, за разлика от това посочи, че тази позиция принадлежи към група "G", добави елемент да ListView1 и готов. Преминавайки през други записи и да се извърши сравнение само да създадете нова група, когато на града се променя.

Резултатът ще изглежда така:

Сега за всичко, което изглежда хубаво, аз препоръчвам създаването на изображение за фон. Мисля, че споменах, че аз предпочитам Photoshop, но можете да използвате всеки образ редактор за създаване на JPG за използване във фонов режим. Имайте предвид, че цветовете не трябва да бъде много силна, защото тя е difilcultará четене на данните.

Тук ли да оставя един образ, който аз използвам в този пример:

За да я използвате само от свойствата на гледания, намерете BackgroundImage и след това да добавите изображението, както е показано по-долу:

и вие също трябва да се промени собствеността на вярна и готова BackgroundImageTiled. Показвам крайния резултат:

Това е всичко, надявам се, те служат.

11 коментара към "Създаване на групи в гледания (ListViewGroup),"

  1. Bitacoras.com казва:

    Информация Bitacoras.com ...

    Курсове в Bitacoras.com: Както казах няколко пъти, контрол гледания е един от най-използвания при разработването на приложение в Visual Basic Net. Днес искам да покажа начин да се получи повече от този контрол, а също и Деж ...

  2. Сезар заяви:

    Отличен пример за друг вид използване на гледания.

    Миа въпрос и аз търсили навсякъде, преди да питаш е как да се даде възможност на скупчени отпечатате тази гледания.

    благодаря

  3. Емилио Рафаел Гарсия Риос казва:

    Хей, какво ще кажете за въпросът ми е ...
    И, както го прави да ходи гледания групата от група?

  4. анонимен, казва:

    Здравейте, аз исках да знам как да направя, за да изтриете избрания елемент в една гледания.
    Благодаря.

  5. Алехандро казва:

    този много добър пример, аз съм пускането на практика, но имам проблем, например: Моите групи потребител модул.
    Моят въпрос е: Както показват втората група?
    Например, в твоя пример публикувате item.group = G
    Какво ще стане, ако аз също искам да покажа з група в колоната на subitems?
    Костите ми покаже потребител (група), модул (в друга група) и след това останалите.
    Аз ценя Вашето време и най-добри пожелания.

  6. Кристиан казва:

    както може да се свърже гледания с присъединяването ¿?
    Показват, че данните във всяка колона BD

  7. Li казва:

    В последния ред = listView1.Items.Add (точка) получавам следната грешка:

    Не можете да добавяте или поставете точка "в повече от едно място. Трябва да го махнем от сегашното си място или да го клонират.
    Параметър име: позиция.

    Аз съм го тества. NET 2008 г., защото тази грешка е?

  8. Федерико казва:

    Съжалявам, че vb.NET сонда през 2008 г. и не работят.

    • Елисей казва:

      Федерико: Когато направих този пост, примерите, които с помощта на Visual Studio 2008 и те работят. Съветвам ви да го пробвам отново се обръща внимание на стъпките.

      Късмет.

  9. Хорхе казва:

    Добро утро, Поздрави! исках да знам как да се групират клетки ще направи гледания, и че този контрол не е слеят собственост. Чакащи за което ти обясня.

    =)

  10. Карлос казва:

    Здравейте добър принос ми служи добре,
    но аз щях да зная или може да ми помогне да сортирате всяка група, за да осъществи проекта, разработени чрез
    предварително чрез

Коментар