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

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

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

dovid

@dovid
ניהול
אודות
פוסטים
10.1k
נושאים
182
קבוצות
2
עוקבים
32
עוקב אחרי
0

פוסטים

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

  • WPF עיצוב TabItem Header
    dovidD dovid

    מה אתה רוצה? כמו מה?

    פורסם במקור בפורום CODE613 ב30/12/2013 15:47 (+02:00)


  • WPF ארוע שינוי גובה שורה בדטה גריד
    dovidD dovid

    כנראה המאפיין גובה בכלל לא משתנה אלא המאפיין ActualHeight.
    אז תשנה בקוד לActualHeightProperty. נסה אם זה עובד.

    פורסם במקור בפורום CODE613 ב31/12/2013 12:13 (+02:00)


  • WPF ארוע שינוי גובה שורה בדטה גריד
    dovidD dovid

    בסדר גמור אתה, רק תשנה את השורות האלו:

    Dim PropDis = DependencyPropertyDescriptor.FromProperty(DataGridRow.HeightProperty, GetType(DataGridRow))
    PropDis.AddValueChanged(e.Row, AddressOf EventH)
    

    אני מאוד מתלהב שאתה עובד לבד,
    אבל אני פחות מתלהב מזה שאתה טס קדימה בלי לבדוק את הארכיטקטורה של WPF, ואת גישתה לבעיותיך.
    בקצב העצמאות שלך, אתה יכול לוותר על WPF לטובת C++, ודוק 🙂

    פורסם במקור בפורום CODE613 ב30/12/2013 16:11 (+02:00)


  • WPF ארוע שינוי גובה שורה בדטה גריד
    dovidD dovid

    לא יודע.

    פורסם במקור בפורום CODE613 ב30/12/2013 15:54 (+02:00)


  • WPF ארוע שינוי גובה שורה בדטה גריד
    dovidD dovid

    כן.
    ואם אתה ממש רוצה (ואני כבר מכיר אותך ככזה):

    Dim PropDis = DependencyPropertyDescriptor.FromProperty(DataGridColumn.WidthProperty, GetType(DataGridColumn))
    
    For Each col In DataGrid1.Columns
        PropDis.AddValueChanged(col, AddressOf EventH)
    Next
    

    חתימת המתודה EventH :

    Private Sub EventH(sender As Object, e As EventArgs)
    

    פורסם במקור בפורום CODE613 ב30/12/2013 13:19 (+02:00)


  • WPF ארוע שינוי גובה שורה בדטה גריד
    dovidD dovid

    אני חושב שאין אירוע, רק בינדינג.

    פורסם במקור בפורום CODE613 ב30/12/2013 10:50 (+02:00)


  • מזל טוב ל 100 נושאים בפורום!!!
    dovidD dovid

    נראה לי ככה:

    RAISERROR ('הודעת שגיאה', 0,0);
    ROLLBACK TRANSACTION;
    

    פורסם במקור בפורום CODE613 ב30/12/2013 16:21 (+02:00)


  • בניית מודאלים גנאריים
    dovidD dovid

    @רחמים

    אני כבר מתחיל לראות באופק את Northwind ב WPF בע''ה ... 🙂

    northwind זה אפליקציה.
    אתה בונה אפליקציה+מסד נתונים.

    פורסם במקור בפורום CODE613 ב30/12/2013 10:37 (+02:00)


  • בניית מודאלים גנאריים
    dovidD dovid

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

    Public Class Connection
        Implements IConnection
    
        Public Property MainCollectionOfTableIn As ObservableCollection(Of IRecord) Implements IConnection.MainCollectionOfTableIn
        Public Property MainCollectionOfTableOut As ObservableCollection(Of IRecord) Implements IConnection.MainCollectionOfTableOut
    End Class
    
    Public Interface IConnection
        Property MainCollectionOfTableOut As ObservableCollection(Of IRecord)
        Property MainCollectionOfTableIn As ObservableCollection(Of IRecord)
    End Interface
    

    פורסם במקור בפורום CODE613 ב29/12/2013 18:46 (+02:00)


  • בניית מודאלים גנאריים
    dovidD dovid
    Public Class Connection(Of TRecordA As IRecord, TRecordB As IRecord)
        Implements IConnection(Of TRecordA, TRecordB)
        Public Property MainCollectionOfTableOut As ObservableCollection(Of TRecordA) Implements IConnection(Of TRecordA, TRecordB).MainCollectionOfTableOut
        Public Property MainCollectionOfTableIn As ObservableCollection(Of TRecordB) Implements IConnection(Of TRecordA, TRecordB).MainCollectionOfTableIn
    End Class
    
    Public Interface IConnection(Of TRecordA As IRecord, TRecordB As IRecord)
        Property MainCollectionOfTableOut As ObservableCollection(Of TRecordA)
        Property MainCollectionOfTableIn As ObservableCollection(Of TRecordB)
    End Interface
    

    פורסם במקור בפורום CODE613 ב29/12/2013 17:52 (+02:00)


  • בניית מודאלים גנאריים
    dovidD dovid

    או: תעשה כמו שהצעתי וקונקשיין תחליף לObject.

    או: כדי להשתמש בקונקשנים בלי קאסט צור ממשק לקונקשיין ככה:

    Public Class GenaricTable(Of TRecord As IRecord)
        Public WithEvents ConnectionsCollection As ObservableCollection(Of IConnection)
    End Class
    
    Public Class Connection(Of TRecordA As IRecord, TRecordB As IRecord)
        Implements IConnection
        Public Sub New(GenaricTableOut As GenaricTable(Of TRecordA), GenaricTableIn As GenaricTable(Of TRecordB))
        End Sub
    End Class
    

    או: אתה יכול להחליט לעשות גם ככה:

    Public Class GenaricTable(Of TRecord As IRecord)
        Implements ITable
        Public WithEvents ConnectionsCollection As ObservableCollection(Of Connection)
    End Class
    
    Public Class Connection
        Public Sub New(GenaricTableOut As ITable, GenaricTableIn As ITable)
        End Sub
    End Class
    

    פורסם במקור בפורום CODE613 ב29/12/2013 15:08 (+02:00)


  • בניית מודאלים גנאריים
    dovidD dovid

    אני מאוד לא מבין את הכיוון ואת הדרך, לא הבנתי גם למה במקום באובגקט אתה לא משתמש עם המחלקה היפה שעשית (GenaricTable).
    כלומר המחלקה קונקשיין לפי איך שהתחלת אמורה להיראות ככה:

    Public Class Connection(Of TRcordA, TRecordB)
        Public Sub New(GenaricTableOut As GenaricTable(Of TRcordA), GenaricTableIn As GenaricTable(Of TRecordB))
    
        End Sub
    End Class
    

    אבל אני מריח את הבעיה עליה אתה שואל.
    אתה מנסה להתמודד מראש עם מחלקות שונות שיתנו פחות או יותר אותה פונקציונליות אבל עדיין מחלקות שונות.
    אגב, בC#, אין אופציה בכלל למה שעשית. אם אתה לא יודע מראש את סוג המחלקה, אין לך שום אפשרות להשתמש במאפיין/מתודה שאת הבטוח שיהיה בה).
    אז מה עושים? אז פה כדאי מאוד לסקור חזק את נושא ה"תכנות מונחה עצמים"', OOP בלועזית מרשימה.

    בOOP יש שתי דברים שמאוד נוגעים לשאלתך:
    א. Interface - ממשק (מנשק לפי האקדמיה :)) שזה עצם שמכיל רשימה של חוקים, שכל מחלקה שמכריזה על עצמה כמממשת את אותו Interface, חייבת לממש.
    ב. מחלקת אב אבסטרקטית (מופשטת). בהנחה שאתה מכיר את המושג "ירושה", אז אפשר ליצור מחלקה למחצה (שאין לה שום טעם משל עצמה, וגם אי אפשר ליצור ממנה מופע), ותפקידה זה לתרום את הפונקציונליות שלה למחלקות היורשות ממנה.
    שתי הדרכים נראים דומות אך יש הרבה הבדלים בינהם, הן באופן השימוש והן במטרתו.
    במקרה שלך כדאי לך ליצור אב טיפוס, או ממשק או מחלקה מופשטת, ולוותר על השימוש בגנריות ולהשתמש בטיפוס מוגדר, מסוג אב.
    באופן כללי ניתן לומר כלל שהשימוש בגנריות מומלץ א. מתי שלא פונים הרבה לאלמנטים בתוך האובייקט ב. מתי שמתכוננים לתת שירות גם לטיפוסים שלא תחת אחריותינו כלל.

    פורסם במקור בפורום CODE613 ב29/12/2013 11:53 (+02:00)


  • WPF לחצן שונה בראש שורה האחרונה בדטה-גריד
    dovidD dovid

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

    Private Sub dg_LoadingRow(sender As Object, e As DataGridRowEventArgs)
        If e.Row.Item.Equals(CollectionView.NewItemPlaceholder) Then
            e.Row.Header = "*"
        Else
            e.Row.Header = "+"
        End If
    End Sub
    

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

    פורסם במקור בפורום CODE613 ב31/12/2013 21:10 (+02:00)


  • WPF לחצן שונה בראש שורה האחרונה בדטה-גריד
    dovidD dovid

    @רחמים

    @דוד ל.ט.
    למה טריגר, אתה הולך עם קוד. ואם טריגר, אז עד הסוף, לא חצי קוד וחצי טריגר.

    אפשר לכותב טריגר גם בתוך הקוד, שכל כל XAML אפשר לתרגם לקוד.

    מקוה שהבנת אותי אף על פי כן.

    @רחמים

    @דוד ל.ט.
    שמתי באירוע טעינה שישנה את הכיתוב לזמן דקות+שניות.

    שמת בטעינה של הלחצן? או בטעינה של ה RowDetails ?

    אכן בטעינת לחצן.

    פורסם במקור בפורום CODE613 ב26/12/2013 22:09 (+02:00)


  • WPF לחצן שונה בראש שורה האחרונה בדטה-גריד
    dovidD dovid

    @רחמים

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

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

    @רחמים

    אין איזה טריגר לזה

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

    פורסם במקור בפורום CODE613 ב26/12/2013 21:13 (+02:00)


  • WPF לחצן שונה בראש שורה האחרונה בדטה-גריד
    dovidD dovid

    @רחמים

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

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

    האירוע הזה קופץ כשהכפתור נוצר. זהו.
    אתה יכול להסביר לי למה הוא נוצר אחרי שאתה ממלא שורה חדשה? הוא כבר היה שם לפני כן!
    רק השורה הנוספת שנוצרת אח"כ מקפיצה אירוע לכפתורה המשוייך לה.

    פורסם במקור בפורום CODE613 ב26/12/2013 20:06 (+02:00)


  • WPF לחצן שונה בראש שורה האחרונה בדטה-גריד
    dovidD dovid

    אתה שואל גם למה, או רק שואל איך לפתור זאת?
    אגב אני תמה למה במקומו הוא (בפרטי איש קשר) הוא השתנה אחרי שהוספת.

    פורסם במקור בפורום CODE613 ב26/12/2013 19:44 (+02:00)


  • WPF לחצן שונה בראש שורה האחרונה בדטה-גריד
    dovidD dovid

    בד"כ אתה מעדיף קוד, אז אם יש לך DataGridRow מסויימת ביד (למשל באירוע לואדינג כמו שעשית בעבר) והיא נקראת dr תוכל לבדוק ככה:

    If dr.Item = CollectionView.NewItemPlaceholder Then
        dr.HeaderTemplate = XXX
    End If
    

    פורסם במקור בפורום CODE613 ב26/12/2013 18:48 (+02:00)


  • sql server COLUMNS_UPDATED function
    dovidD dovid

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

    פורסם במקור בפורום CODE613 ב26/01/2014 19:03 (+02:00)


  • sql server COLUMNS_UPDATED function
    dovidD dovid

    @ארכיטקט

    יש אור בקצה המנהרה!!
    אפשר להריץ SQL כמחרוזת כזה:

    EXECUTE ( 'select * from Contacts')
    

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

    ברור שאפשר וזה ידעתי מתחילה רק שזה ממש לא נראה לי דרך נורמלית.

    פורסם במקור בפורום CODE613 ב31/12/2013 19:16 (+02:00)

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

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

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