בכל פעם שאתה להוסיף פריטים חדשים כמה ListViewItems בקרה listview, ואלה הם רבים כל כך שליטה אין מספיק מקום להציג אותם על המסך, הוספת פס גלילה אנכי. זה מושלם, אלא כברירת מחדל לא כי פריטים חדשים מתווספים.
היום אני רוצה להראות איך לפתור את הבעיה הקטנה הזאת.
בקרות Visual Basic. נטו חרוט listview לתת לנו מגוון מרשים של תכונות עבור תצורה, כך שלעתים קרובות אינם ידועים.
אני רוצה להראות דוגמה פשוטה. בשביל זה אנחנו צריכים טופס, פקד listview ולחצן.
המאפיינים המעניינים ביותר לנו הם:
ובכן, עכשיו אם את הקוד:
Private Sub Form1_Load (ByVal השולח כמו System.Object, ByVal e כמו System.EventArgs) ידיות MyBase.Load
ListView1.HideSelection False =
ListView1.FullRowSelect = True
ListView1.MultiSelect = False
End Sub
Private Sub Button1_Click (ByVal השולח כמו System.Object, ByVal e כמו System.EventArgs) ידיות Button1.Click
סטטי אני כמו מספר שלם = 0
אני + = 1
ListView1.Items.Add (חדש ListViewItem ("מספר פריט" & i))
ListView1.Items (ListView1.Items.Count - 1). נבחר נכון =
ListView1.Items (ListView1.Items.Count - 1). ממוקד = True
ListView1.FocusedItem.EnsureVisible ()
End Sub
ריצה זה צריך להיראות כמו מה מוצג בתמונה זו:
זה הכל, אם מידע זה עזר לך, בבקשה להשאיר תגובה.
מידע Bitacoras.com ...
דרג ב Bitacoras.com: בכל פעם שאתה להוסיף פריטים חדשים כמה ListViewItems בקרה listview, ואלה הם רבים כל כך שליטה אין מספיק מקום להציג אותם על המסך, הוספת פס גלילה אנכי. זה .....
ובכן כולנו יודעים ש 'כדי להציג את הנתונים אבל אני ש אני מתעניין אם הם יכולים להסביר כיצד מאוחסנים מודול הם ניסור תוכנית aunq
שאלה אני רוצה את DataGridView דוגמא דומה, אך כי אם לא יכול לעזור לי בגיליון זה
כתובת הדוא"ל שלי:
richardramos789@hotmail.com
האם אתה יכול להיות אסיר תודה אם תעזור לי
שלום כזה,
תראו יש לי ספק עם listview ליישם במערכת שלי, אני להרכיב מערכת ממוצע והזן קוד בהישגים txtbox שלי בדפוס שלי listview נכון, השאלה שלי היא שאני רוצה בעת ההרשמה את אותו מוצר, במקום להוסיף שורה חדשה נוספת אותה בעמודה כמות תגדיל את המספר.
לדוגמה, אם אני מוסיף 12345, מודפס listview שלי, אבל אם אני מוסיף 12345 להציב הדפסה בשורה חדשה מודפס בשורה, אלא בסכום הטור עולה ל 2, לא אם אני מסבירה או יכול להנחות אותי לשאלה זו שיש לי אני מאוד מעריך.
אין לי מאוד ברור מה אתה רוצה לעשות, אבל אני מציע לך להסתכל בדוגמה זו עשוי להיות מועיל: http://www.solovb.net/index.php/2009/02/19/modificar-datos- of-a-listview /
שאלות נוספות אל תהססו לפנות אלי.
בברכה
שלום ג'ורג', מה אתה שואל כרוך התמדה הנתונים כדי לעדכן את העמודה השייכת לדרגת מפתח מסוים בטבלה ב -2 פתרונות אתה יכול לבחור: 1 תיצור DB עם השדות הדרושים לך ולהשתמש הקשר גם עם MySQL באמצעות מתאם עבור זה או של SQL Server כלול ב-Visual Studio, דרך אחרת היא באמצעות קבצים שטוחים לשמור את הנתונים בקובץ. txt ולאחר מכן להמשיך קריאה כתיבה מחדש של נתונים מסוימים , כי שתי האפשרויות שאתה צריך להגדיל את הערך עבור rewquerida טור, אתה צריך גם ליישם פונקציה להגדיל ערך זה מבוסס על מצב שאתה צריך.
אלישע תודה רבה לך על תגובתך המהירה.
אוקי נראה אני אסביר. יש לי תיבת טקסט שבה להוסיף את המוצרים שיש לי DB שלי, בסדר למשל, קוקה קולה, אני נכנס הברקוד על תיבת טקסט שלי במקרה זה יהיה 12345678, מראה טוב listview שלי תיאור המוצר עם עמודות שלי listview הם:
קוד מוצר, תיאור כמות, מחיר המכירה, קיום.
לאחר מכן להוסיף את המוצר לשורה שלי מלא נתונים כאלה listview שלי, אבל אם אני הכנס מחדש את הקוד של קוקה קולה, מוצג בשורה הבאה, שאני רוצה לעשות הוא שכאשר אתה מוסיף עוד פעם אחת את המוצר עצמו ולא בשורה חדשה, רק לשנות את מספר כמות הטור שלי, בתמורה במקרה זה ל 2.
זה יותר ND שאני רוצה לעשות, אם אני יכול להגיד פחות או יותר לענות על שאלה זו הייתי מעריך את זה.
תודה
ובכן, עכשיו הוא קצת קל יותר.
הדבר הראשון שאתה עושה לפני החדרת הקו החדש הוא לחצות את listview כדי לבדוק אם נכנס כבר את הקוד שאתה מנסה להוסיף.
מה שאתה עושה עבור כל אחד, למשל
"אני חושב משתנה כדי לציין אם מצאתי את הקוד כבר קיים
דים קיים כפי בוליאני = False
עבור כל פריט כמו ListViewItem ב listviewProductos.items
אז אם item.text = txtCodigo.text
"אם באת לכאן, משום שהוא טעון כבר
עמום cantidadAnterior כמספר שלם = CType (item.subitm (2). טקסט, מספר שלם)
item.subitem (2). cantidadAnterior + טקסט = CType (txtCantidad.text, מספר שלם)
"אם אתה מוצא אתה שם לב שהיה קיים כבר
קיים = True
סוף אם
הבא
אם לא אז יש
"כאן זה לא נמצא מכן הכנס
סוף אם
ובכן, Espro לשרת ... אתה לא יכול לשלול את טרנר טעות דפוס מאז כתבתי אותו ישירות כאן
אבל בטוח שאתה תשרת
שוב תודה,
להתראות ציין שאם הייתי עובד על הבעיה על ידי שינוי הערך של העמודה כמות, מה שקורה הוא שאני חילוץ ערכים ממסד נתונים MySQL אני מראה נראה כמו קוד להדפיס listview שלי
Listview Private Sub ()
אני דים כמספר שלם
דים של כמספר שלם
ספירת דים כמספר שלם
דים סיכום ביניים כפי כפולה
רשימת דים כמו חדש ListViewItem
כמחרוזת חדש דים MySqlCommand ("SELECT * FROM מוצרי איפה ProductCode = '" & txtCodigoBarras.Text & "'", con)
cadena.ExecuteReader mysqldr = ()
בעוד mysqldr.Read ()
רשימת = listView1.Items.Add (txtCodigoBarras.Text.Trim)
listar.SubItems.Add (CStr (mysqldr ("תיאור")))
listar.SubItems.Add (CStr (mysqldr ("כמות")))
listar.SubItems.Add (CStr (mysqldr ("PrecioVenta")))
listar.SubItems.Add (CStr (mysqldr ("מניות")))
סוף בעוד
דים קיים כפי בוליאני = False
עבור כל פריט כמו ListViewItem ב ListView1.Items
אז אם item.Text = txtCodigoBarras.Text
דים CantidadAnterior כמספר שלם = CType (listar.SubItems (2). טקסט, מספר שלם)
listar.SubItems (2). טקסט = cantidadAnterior + CType (mysqldr ("כמות"), מספר שלם)
קיים = True
סוף אם
הבא
אם לא אז יש
סוף אם
lblCantidadProd.Text = mysqldr.Item (3)
lblPrecioUnidad.Text = mysqldr.Item (5)
עבור s = 0.0 כדי ListView1.Items.Count - 1
סכום ביניים = סכום ביניים + ListView1.Items (ים). SubItems (3). טקסט
הבא
lbLSubTotal.Text = "$" & Format (סיכום ביניים, "0.00")
עבור i = 0 עד ListView1.Items.Count - 1
נגד = counter + ListView1.Items (אני). SubItems (2). טקסט
הבא
Me.lblContador.Text = נגד
mysqldr.Close ()
End Sub
קוד ביליתי כל כך ליישם את זה ולראות את התוצאות בתמונה הבאה:
http://img193.imageshack.us/img193/4421/productosv.jpg~~V
חבר haha מצטער אם אני כועס על כל כך הרבה שאלות, אבל אני מוצא פחות או יותר את הבעיה, למשל להציג את המוצר
DORITOSNAC
מוכנס בשורה הראשונה וכאשר שמתי DORITOSNAC מודפס על השורה השניה, אך הציג כבר את השינויים הראשונים את הערך שלו הכמות 2, והוא מודפס להיכנס שוב בשורה 3, אך לא פחות משורה 1 משנה את הערך שלו 3
אז אם txtCodigoBarras.Text = txtCodigoBarras.Text
דים קיים כפי בוליאני = False
עבור כל פריט כמו ListViewItem ב ListView1.Items
אז אם item.Text = txtCodigoBarras.Text
דים CantidadAnterior כמספר שלם = CType (item.SubItems (2). טקסט, מספר שלם)
item.SubItems (2). טקסט = cantidadAnterior + CType (lblCantidadProd.Text, מספר שלם)
קיים = True
סוף אם
הבא
אם לא אז יש
סוף אם
בוא נראה אם אני מקבל את זה עכשיו, אם לא כל הסבר מצידך יהיה אסיר תודה.
מושגת כבר לפתור תודה רבה על התמיכה לקבל את הפתרון:
ספירת דים כמספר שלם
עבור j כמספר שלם = 0 עד Me.ListView1.Items.Count - 1
אם Me.ListView1.Items (י). SubItems (0). ואז = טקסט txtCodigoBarras.Text
ספירת = CINT (Me.ListView1.Items (י). SubItems (2). טקסט) + 1
Me.ListView1.Items (י). SubItems (2). טקסט = ספירת
צא Sub