דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
T

tchayim

@tchayim
אודות
פוסטים
10
נושאים
3
קבוצות
0
עוקבים
0
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • WPF DataGrid - קיבוע שורה נבחרת בראש ה DataGrid
    T tchayim

    אני לא רוצה להעביר את הרשומה הנבחרת ממש לראש הדטה גריד, אלא אני רוצה לדפדף את הדטה גריד כך שהרשומה הנבחרת ימוקם בראש ביחס לכל הרשומות בפוקוס, אבל אני משאיר את הרשומה באותו מספר שורה (כלומר, האינדקס שלו, לא יהיה במיקום 0 אלא ישאר באותו מיקום). מקוה שהסברתי את עצמי נכון.
    תשובה בכל אופן יש למישהוא ?

    פורסם במקור בפורום CODE613 ב29/12/2016 13:09 (+02:00)


  • WPF DataGrid - קיבוע שורה נבחרת בראש ה DataGrid
    T tchayim

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

    פורסם במקור בפורום CODE613 ב28/12/2016 23:59 (+02:00)


  • WPF DataGrid - קיבוע שורה נבחרת בראש ה DataGrid
    T tchayim

    אכן סליחה על הסתירה, לא התעמקתי בזה, מכיון שעיקר נקודת השאלה היא לגבי הדטה גריד, במקרה שלי זה בתוך קומבו.
    התכונתי שהטמפלט של כל האייטמס הוא דטה גריד, זאת אומרת שהאייטמס מוצגים כדטה גריד (באמצעות ComboBox.ItemContainerStyle).
    בכל אופן, תודה על התייחסותך

    פורסם במקור בפורום CODE613 ב28/12/2016 16:01 (+02:00)


  • WPF DataGrid - קיבוע שורה נבחרת בראש ה DataGrid
    T tchayim

    יש לי ComboBox שהטמפלט של האייטמס הוא DataGrid.
    ובכן, במידה ונבחרה ערך מסויים (שהוא בעצם ערך מתוך ה DataGrid), אני רוצה שהערך הזה יהיה בראש ה DataGrid, ואז כשהמשתמש יפתח את הרשימה (Combobox), הוא מיד יראה את הערך מודגש ובראש ה DataGrid.

    להלן הקוד שקודדתי ב- ComboBox ע"מ שיתבצע בטעינת ה DataGrid שבתוך ה ComboBox:

    Private Sub DataGrid_Loaded(sender As DataGrid, e As RoutedEventArgs) Handles DataGrid.Loaded
                If Me.SelectedItem Is Nothing Then Exit Sub
                DataGrid.SelectedItem = SelectedItem
                Dim sv = sender.FindVisualChild(Of ScrollViewer)
                If sv IsNot Nothing Then sv.ScrollToEnd()
                DataGrid.ScrollIntoView(SelectedItem)
                sender.Focus()
            End Sub
    

    [u:fre0wxnl]אסביר קצת על הקוד:[/u:fre0wxnl]
    בתחילה (שורה 3) אני קובע שהרשומה הנבחרת ב DataGrid תהיה הערך הנבחר ב ComboBox.
    לאחר מכן (שורה 4,5) אני מחפש את ה ScrollViewer ואני מגלגל אותו לסוף ה DataGrid (בהמשך אסביר למה אני צריך את זה).
    אח"כ (שורה 6) אני מדפדף ל רשומה הנבחרת.
    אח"כ (שורה 7) אני מעביר את הפוקוס ל DataGrid כדי שהרשומה הנבחרת תהיה מספיק מודגשת (כאשר זה לא בפוקוס, הרשומה הנבחרת לא מודגשת מספיק).
    הסיבה שהייתי צריך לגלגל את ה Scriller לסוף הDataGrid, שאם לא כן, הדפדוף לרשומה הנבחרת לא מביא אותו לראש ה DataGrid, אלא רק עש שהוא נראה, ולכן אם הוא מגיע מהסוף אז הוא נשאר בראש הרשימה.

    הבעייה היא שהקוד השזה לא תמיד עובד, זאת אומרת - לעתים קרובות הדפדוף עד הסוף עובד, אבל הדפדוף לרשומה הנבחרת לא עובד. לא הצלחתי להבין את הסיבה.

    מישהוא יכול לעזור לי בזה, או לתת לי פיתרון אחר ? זה נורא דחוף לי אני כבר מתעסק עם זה מדי הרבה זמן. תודה מראש

    פורסם במקור בפורום CODE613 ב28/12/2016 14:12 (+02:00)


  • Column מותאם אישית בהורשה מ DataGridTemplateColumn
    T tchayim

    שלום דוד ל.ט.
    אני צריך את זה לכמה וכמה טבלאות (לפחות 5), ובכל פעם השדה שמכיל את הערך אותו אני מבקש הוא בשם אחר. הבנת ?

    פורסם במקור בפורום CODE613 ב31/03/2015 14:24 (+03:00)


  • Column מותאם אישית בהורשה מ DataGridTemplateColumn
    T tchayim

    יצרתי Column מותאם אישית היורש מ DataGridTemplateColumn ואני מקבל שגיאה.
    להלן הקוד ב XAML:

    <DataGridTemplateColumn x:Class="DataGridActiveColumn"
                 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                 xmlns:abc="clr-namespace:abc.Windows;assembly=abc" xmlns:my="clr-namespace:myProject">
           <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Canvas Canvas.Left="0" Canvas.Top="0" Width="512" Height="512">
                    <Canvas.Resources />
                    <Path Data="M -1,0 A 1,1 0 1 1 1,0 M -1,0 A 1,1 0 1 0 1,0">
                        <Path.Style>
                            <Style TargetType="Path">
                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Binding}" Value="1">
                                        <Setter Property="Fill" Value="Yellow" />
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Binding}" Value="0">
                                        <Setter Property="Fill" Value="Green" />
                                    </DataTrigger>
                                    <DataTrigger Binding="{Binding Binding}" Value="-1">
                                        <Setter Property="Fill" Value="Red" />
                                    </DataTrigger>
                                </Style.Triggers>
                            </Style>
                        </Path.Style>
                    </Path>
                </Canvas>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
    

    ולהלן הקוד ב class

    Public Class DataGridActiveColumn
        Private Shared ReadOnly BindingProperty = DependencyProperty.Register("Binding", GetType(Integer), GetType(DataGridActiveColumn))
        Property Binding As Integer
            Get
                Return GetValue(BindingProperty)
            End Get
            Set(value As Integer)
                SetValue(BindingProperty, value)
            End Set
        End Property
    End Class
    

    וכך אני קורא לו בחלון אחר XAML

    <my:DataGridActiveColumn Binding="{Binding IsCurrent}"/>
    

    אך אני מקבל את השגיאה:

    System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression:Path=IsCurrent; DataItem=null; target element is 'DataGridActiveColumn' (HashCode=55555304); target property is 'Binding' (type 'Int32')
    

    מישהו יכול לעזור לי בזה ?
    תודה מראש.

    פורסם במקור בפורום CODE613 ב30/03/2015 13:23 (+03:00)


  • התערבות ב- AutoGenereted Code של EF
    T tchayim

    תודה על סבלנותך, דוד ל.ט. זה עובד מצויין.
    בחרתי בשינוי קובץ ה Template, זה הכי נח לי, אבל קיבלתי את כל ההצעות להזדמנויות אחרות...
    רק רציתי להבין מה כוונתך שאולי בעתיד אשנה את קובץ הTemplate? אם אשנה אז אתייחס גם לזה, לא ?

    פורסם במקור בפורום CODE613 ב30/03/2015 02:06 (+03:00)


  • התערבות ב- AutoGenereted Code של EF
    T tchayim

    תודה דוד ל.ט. על רוחב הלב שלך בפירוט אפשרויות שונות. אכן פתרונות יצירתיות. אך לצערי עם רובן יש לי בעיה, ואפרט לפי סדר הפיתרונות שהבאת:

    1. אכן כפי שכתבת, לא ניתן לדרוס קונסטרקטור שנוצר אוטומטי, וזה בדיוק מה שאני צריך.
    2. DefaultValue לא מספיק לי כי אני צריך להכניס קצת לוגיקה - וכפי שכתבת. בנוסף: במקרה שאני אמחק את הישות ואייבא אותו מחדש, הכל יתאפס, וזה כמו שאסיף לוגיקה לקוד שנוצר אוטומטי, שיימחק רק במקרה שאמחק את הישות, ואז כאשר אייבא אותו מחדש הכל יתאפס.
    3. ירושה זה אכן יכול להיות פיתרון, אבל זה לא נעים לשכתב מחדש ישויות ולהסתבך עם שמות...
    4. אני נדרש להציג עוד לפני השמירה את הנתונים, ולהגדיר את הנתונים בזמן השמירה זה כבר די מאוחר.
      5. זה אכן הפיתרון המוצלח, אך הבעיה היא שאני פשוט לא הבנתי איך לכתוב ולהשתיל זאת בT-Template. אשמח מאוד עם תעזור לי בזה.
      ושוב תודה על רוחב הלב שלך.

    פורסם במקור בפורום CODE613 ב27/03/2015 00:33 (+02:00)


  • התערבות ב- AutoGenereted Code של EF
    T tchayim

    ראשית, תודה על התייחסותך. אכן, הבנת טוב את הבעיה. אך אני מעוניין בפתרון מסוג אחר וכדלהלן:
    יש קובץ DataModel.tt שם ההגדרות לקוד שייוצר אוטומטי, ושם ניתן לשנות הגדרות שונות למשל הגדרת אוסף כלשהיא שיהיה מסוג ObservableCollection במקום ICollection וכד'. כך כמדמני, אפשר להגדיר מתודות שיווצרו בופן אוטומטי. כשזה מוגדר שם, כל פעם שיווצר הקוד מחדש זה יווצר לפי ההגדרות שם. וזאת אני רוצה לדעת איך להוסיף את המתודה המתבקשת בקובץ ההוא. זה יחסוך את העבודה של הורשות וכו'.
    תודה.
    ראה דוגמה:

    פורסם במקור בפורום CODE613 ב24/03/2015 11:55 (+02:00)


  • התערבות ב- AutoGenereted Code של EF
    T tchayim

    בהבאת טבלה חדשה לEF נוצר ישות באופן אוטומטי הכולל Class וקונסטרקטור וכו'.
    הבעיה היא שברגע שנוצר קונסטרקטור, אני יותר לא יכול לדרוס אותו, ואני לא יכול לעשות בו שימוש, לדוגמא, אני רוצה לקבוע ערך כלשהיא לשדה מסויים בעת שהוא נוצר.
    הפיתרון היא להתערב בקוד האוטומטי שנוצר, ולהוסיף לישות מתודה בשם OnCreated למשל, ולקרוא לו מהקונסטרקטור, ואז אוכל לדרוס אותו מכל מקום ולהוסיף לא פעולות שיתבצעו בהיווצרות האוביקט.
    השאלה איך עושים זאת ? איך מתערבים בקוד האוטומטי כך שהוא יצור גם את המתודה האמורה ?
    תודה מראש על הפתרונות.

    פורסם במקור בפורום CODE613 ב23/03/2015 20:01 (+02:00)

  • 1 / 1
  • התחברות

  • אין לך חשבון עדיין? הרשמה

  • התחברו או הירשמו כדי לחפש.
  • פוסט ראשון
    פוסט אחרון
0
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום