יצירת קבוצות ב ListView (ListViewGroup)

כפי שאמרתי מספר פעמים, הביקורת listview הוא אחד בשימוש ביותר בעת פיתוח יישומים ב-Visual Basic. נטו.

היום אני רוצה להראות דרך להשיג יותר שליטה זה גם להשאיר הרבה יותר אטרקטיבי על ידי יצירת קבוצות ושימוש של תמונת הרקע.

למשל אנחנו צריכים: טופס listview. צריך להיראות כמו בתמונה הבאה:

כדי להציג את התוצאות שאנחנו צריכים נתונים, ועל כך אני יצרתי 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"
 ד"ר ("ארץ") = "קסטלר"
 dt.Rows.Add (DR)

 ד"ר = dt.NewRow

 ד"ר ("שם") = "Estevan"
 ד"ר ("שם") = "Vazquez"
 ד"ר ("טלפון") = "9452-4515"
 ד"ר ("ארץ") = "קסטלר"
 dt.Rows.Add (DR)

 ListView1.FullRowSelect = True
 ListView1.MultiSelect = False

 דים כמו grupoActual מחרוזת String.Empty =

 G דים ככל ניו ListViewGroup

 למחקר כמו כל 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 ומילוי נתונים וזה לא להגיב. להתרכז על איך למלא את listview.

ראשית אני יוצר עבור כל לולאה דרך כל הרשומות בטבלה שיש לי בזיכרון. אז ליצור משתנה טקסט (grupoActual) כדי לשמור את שם הקבוצה (האחרון הוספתי listview) ואני גם חושב ListViewGroup אובייקט (ז). הדבר הראשון שאני עושה כדי להפעיל את הרשומות הוא להקצות את האתר (שהוא תחום אני רוצה לעבוד כקבוצה) כדי ListView1 ולשמור את הנתונים grupoActual משתנה להשוואות עתידיות. ואז גובים ListViewItem כמו תמיד שונה מזה עולה כי מוצר זה שייך לקבוצת "G", הוסיף פריט ListView1 ומוכן. עובר את הרשומות אחרים ולבצע השוואה רק ליצור קבוצה חדשה כאשר השינויים העיר.

התוצאה תיראה כך:

עכשיו הכל נראה יותר נחמד, אני ממליץ על יצירת התמונה ברקע. אני חושב שציינתי שאני מעדיף Photoshop, אבל אתה יכול להשתמש בכל עורך תמונות כדי ליצור JPG לשימוש ברקע. שים לב הצבעים לא צריכה להיות מאוד חזקה כי היא difilcultará לקרוא את הנתונים.

כאן אני משאיר את התמונה אני משתמש בדוגמה זו:

כדי להשתמש בו פשוט מן המאפיינים של listview, למצוא את BackgroundImage ולאחר מכן להוסיף את התמונה כפי שמוצג להלן:

ואתה גם צריך לשנות את הרכוש BackgroundImageTiled נכון ומוכן. אני מראה את התוצאה הסופית:

זהו, אני מקווה שהם משרתים.

12 תגובות ל "יצירת קבוצות ב ListView (ListViewGroup)"

  1. Bitacoras.com אומר:

    מידע Bitacoras.com ...

    דרג ב Bitacoras.com: כפי שאמרתי מספר פעמים, הביקורת listview הוא אחד בשימוש ביותר בעת פיתוח יישומים ב-Visual Basic נטו.. היום אני רוצה להראות דרך להשיג יותר שליטה זה גם דז' ...

  2. סזאר אמר:

    דוגמה מצוינת לסוג אחר של שימוש listview.

    מיה שאלה חיפשתי בכל מקום לפני לשאול היא כיצד לאפשר אשכולות להדפיס listview.

    תודה

  3. אמיליו רפאל גארסיה ריוס אומר:

    היי, מה עם השאלה שלי היא ...
    ובזמן שזה קורה ללכת לקבוצה listview על ידי קבוצה?

  4. אנונימי אומר:

    שלום, רציתי לדעת איך לעשות כדי למחוק את הפריט הנבחר listview.
    תודה.

  5. אלחנדרו אומר:

    זו דוגמה טובה מאוד, אני שם לפועל אבל יש לי בעיה למשל: קבוצות שלי מודול המשתמש.
    שאלתי היא: כאשר אני מראה לקבוצה 2?
    למשל, בדוגמה שלך אתה מפרסם את item.group = g
    מה אם אני גם רוצה להראות H הקבוצה בעמודה של subitems?
    עצם להראות לי המשתמש (קבוצה), מודולו (בקבוצה אחרת), ואז את כל השאר.
    אני מעריך את הזמן שלך בברכה.

  6. כריסטיאן אומר:

    כמה שאני יכול להתחבר עם listview acces ¿?
    אני מראה כי הנתונים BD כל עמודה

  7. לי אומר:

    בשורה האחרונה = listView1.Items.Add (פריט) אני מקבל את השגיאה הבאה:

    לא ניתן להוסיף או להוסיף פריט "באתר אחד או יותר. צריך להסיר אותו מהמיקום הנוכחי שלה או לשכפל אותו.
    שם פרמטר: פריט.

    אני בודק את זה. נטו 2008 בגלל שגיאה?

  8. פדריקו אומר:

    סליחה vb.NET בדיקה בשנת 2008 לא עובד.

    • אלישע אומר:

      פדריקו: כאשר עשיתי את הפוסט הזה, הדוגמאות עשיתי באמצעות Visual Studio 2008 והם עובדים. אני מציע לך לנסות את זה שוב לשים לב במדרגות.

      מזל.

  9. חורחה אומר:

    בוקר טוב, ברכות! רציתי לדעת איך תאים הקבוצה יעשה listview, וכי שליטה זו לא למזג רכוש. מחכים עושה לי להסביר.

    =)

  10. קרלוס אומר:

    שלום תרומה טובה של שירת אותי היטב,
    אבל אני לא יודע או יכול לעזור לי כדי למיין כל קבוצה על מנת ליישם את הפרויקט פיתחתי דרך
    לפני כן דרך

  11. סרג'יו הרננדז, אמר:

    עבודה מצוינת, העתק והדבק. עובד מצוין.

    ברכות ותודות

הערה