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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. WPF שמירת מצב עמודות בדטה-גריד

WPF שמירת מצב עמודות בדטה-גריד

מתוזמן נעוץ נעול הועבר ארכיון code613m
10 פוסטים 3 כותבים 535 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים מורחק
    כתב ב נערך לאחרונה על ידי
    #1

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

    תודה לכולם.

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

    תגובה 1 תגובה אחרונה
    0
    • א מנותק
      א מנותק
      ארכיטקט
      כתב ב נערך לאחרונה על ידי
      #2

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

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

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

      תגובה 1 תגובה אחרונה
      0
      • dovidD מנותק
        dovidD מנותק
        dovid ניהול
        כתב ב נערך לאחרונה על ידי
        #3

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

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

        מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

        בכל נושא אפשר ליצור קשר dovid@tchumim.com

        תגובה 1 תגובה אחרונה
        0
        • רחמיםר מנותק
          רחמיםר מנותק
          רחמים מורחק
          כתב ב נערך לאחרונה על ידי
          #4

          קודם כל תודה לכולם על כל המידע

          כעת עשיתי לולאה שעוברת על כל העמודות שבדטה-גריד, ואמורה לרשום בדיסק את DisplayIndex ואת מה שכתוב בכותרת העמודה
          אלא שאז קיבלתי שגיאה:
          The calling thread cannot access this object because a different thread owns it.

          כלומר אני לא יכול לגשת לדטה-גריד בכלל משום מה, אולי בגלל שאני מנסה לשמור את הנתונים ב Overrides Sub Finalize()
          ובאמת ניסיתי לשמור באמצע זמן ריצה הכל עבד טוב, אבל ה Finalize כנראה פועל ב thread נפרד.

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

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

          תגובה 1 תגובה אחרונה
          0
          • dovidD מנותק
            dovidD מנותק
            dovid ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            למה לא באירוע סגירה של החלון?

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

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            תגובה 1 תגובה אחרונה
            0
            • רחמיםר מנותק
              רחמיםר מנותק
              רחמים מורחק
              כתב ב נערך לאחרונה על ידי
              #6

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

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

              תגובה 1 תגובה אחרונה
              0
              • dovidD מנותק
                dovidD מנותק
                dovid ניהול
                כתב ב נערך לאחרונה על ידי
                #7

                @רחמים

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

                יפה מאוד שאתה מפריד את הממשק מהעיצוב, זה תכנות נכון מאוד.
                לא הבנתי אבל למה את איסוף המידע על העמודות (שבכל מקרה זה חלק עיצובי), אתה רוצה לעשות מ"בחוץ".
                את השמירה תעשה איפה שבא לך, אבל איסוף המידע על העמודות מקומו בקוד של החלון.

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

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                תגובה 1 תגובה אחרונה
                0
                • רחמיםר מנותק
                  רחמיםר מנותק
                  רחמים מורחק
                  כתב ב נערך לאחרונה על ידי
                  #8

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

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

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

                  תגובה 1 תגובה אחרונה
                  0
                  • dovidD מנותק
                    dovidD מנותק
                    dovid ניהול
                    כתב ב נערך לאחרונה על ידי
                    #9

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

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

                    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                    בכל נושא אפשר ליצור קשר dovid@tchumim.com

                    תגובה 1 תגובה אחרונה
                    0
                    • רחמיםר מנותק
                      רחמיםר מנותק
                      רחמים מורחק
                      כתב ב נערך לאחרונה על ידי
                      #10

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

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

                      תגובה 1 תגובה אחרונה
                      0

                      בא תתחבר לדף היומי!
                      • התחברות

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

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