WPF בחירת עמודות שלמות בדטה-גריד
-
איך אפשר לעשות שהמשתמש יוכל לבחור עמודה שלמה בדטה-גריד בדומה לזה שאפשר לבחור שורה שלמה כאשר לוחצים בראש השורה, דבר דומה יש באקסל שכאשר לוחצים בראש העמודה בגליון נבחרת כל העמודה, אבל בדטה-גריד הלחיצה על ראש העמודה מיועדת למיון.
תודה לכולם.
פורסם במקור בפורום CODE613 ב20/01/2014 14:19 (+02:00)
-
אתה רוצה שלחיצה תבחר את העמודה, ואתה מוותר על העניין של המיון?
או שאתה משתף אותנו בדילמה...תוכל לשלב בכותרת כפתורון לבחירת העמודה. תראה מה שהם עשו פה:
http://wpf.codeplex.com/wikipage?title=Column Selectionהצלחה.
פורסם במקור בפורום CODE613 ב20/01/2014 14:49 (+02:00)
-
אני צריך את המיון ומצד שני אני צריך שהמשתמש יוכל לבחור עמודות כמו שהוא בוחר שורות ע''י לחיצה בראש שורה ויש אפשרות לבחור שורות מרובות ע''י לחיצה ומשיכה ג''כ בראשי השורות, אולי אפשר להכניס מעל ראשי העמודות שטח כמו השטח שבראשי השורות?
תודה.פורסם במקור בפורום CODE613 ב20/01/2014 15:02 (+02:00)
-
עשיתי כך:
בראש כל שורה הכנסתי לחצן בגובה 20 וברוחב כל הראש, ובארוע לחיצה עליו עשיתי מה שהיה כתוב בקישור שהבאת ואכן הוא בוחר את כל העמודה וזה מצויין.
כעת ניסיתי לעשות שגם בארוע כניסה לאותו לחצן עם העכבר תיבחר כל העמודה על דרך שבוחרים שורות ע''י משיכה באזור ראשי השורות, אלא משום מה ארוע כניסה לא מתרחש בלחצן של עמודה 2 לאחר שכבר נלחץ הלחצן שעמודה 1 ומשכתי את העכבר ללחצן 2. למה הוא לא מתרחש?פורסם במקור בפורום CODE613 ב20/01/2014 15:43 (+02:00)
-
הקוד לבחירת עמודה בעת לחיצה על הלחצן שבתוך ראש העמודה נראה כך:
Private Sub btnSelectColumn_Click(sender As Object, e As RoutedEventArgs) Dim column As DataGridColumn = DirectCast(sender, Button).Tag For i As Integer = 0 To Me.Items.Count - 1 If Me.SelectedCells.Contains(New DataGridCellInfo(Me.Items(i), column)) = False Then Me.SelectedCells.Add(New DataGridCellInfo(Me.Items(i), column)) End If Next End Sub
בזמן יצירת הלחצן אני מכניס ל TAG שלו את העמודה שהוא שייך אליה [זו הדרך הכי פשוטה שמצאתי כדי לדעת לאיזה עמודה שייך הלחצן שמשתמש לחץ]
פורסם במקור בפורום CODE613 ב21/01/2014 13:12 (+02:00)