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

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

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

מיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי

מתוזמן נעוץ נעול הועבר תכנות
25 פוסטים 3 כותבים 450 צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • M mekev

    @dovid

    @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

    יש קוד נוסף חוץ מזה (כלומר חוץ ממה שמוצג בתמונה) שמנסה לסדר את העמודות?

    לא.

    זה מה שמופיע בdt

    4285c3af-8e9c-46de-bc2e-07c13d97d959-image.png

    dovidD מנותק
    dovidD מנותק
    dovid
    ניהול
    כתב ב נערך לאחרונה על ידי dovid
    #21

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

    • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
    • בכל נושא אפשר ליצור קשר dovid@tchumim.com
    M תגובה 1 תגובה אחרונה
    2
    • M mekev

      @dovid

      @dovid כתב במיון תאריכים המוצגים כחודש ושנה בסדר כרונולוגי:

      יש קוד נוסף חוץ מזה (כלומר חוץ ממה שמוצג בתמונה) שמנסה לסדר את העמודות?

      לא.

      זה מה שמופיע בdt

      4285c3af-8e9c-46de-bc2e-07c13d97d959-image.png

      dovidD מנותק
      dovidD מנותק
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי
      #22

      למי שנפשו יוצאת לדעת את פתרון החידה אני מעדכן ש@mekev ברוב טובו יצר עימי קשר והראה לי את התעלומה הגדולה במוחש.
      עקבנו אחרי הקוד, הDataTable אכן בסדר נכון, כל העמודות בסדר בו יצרו אותם (אלא מה?!) אבל הDataGridView שעם ההגדרה של AutoGenerateColumns מציג סדר משונה בו 01/2023 קודם ל01/2022.
      אחרי הרבה זמן פתאום עלה הרעיון במוחו של @mekev שהבעיה מתרחשת תמיד רק בטעינה נוספת לDGV כלומר אחרי שכבר היה לו מקור אחר בעבר. מה שפתאום הבנו שיש מנגנון של מחזור עמודות קיימות, ושבמקרה כזה הם לא רק נחסכות מלהיווצר אלא הם גם שומרים על מיקומם... הגדרה של DataSource = null לפני הטעינה החדשה פותר את הבעיה!

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      dovidD תגובה 1 תגובה אחרונה
      4
      • dovidD dovid

        למי שנפשו יוצאת לדעת את פתרון החידה אני מעדכן ש@mekev ברוב טובו יצר עימי קשר והראה לי את התעלומה הגדולה במוחש.
        עקבנו אחרי הקוד, הDataTable אכן בסדר נכון, כל העמודות בסדר בו יצרו אותם (אלא מה?!) אבל הDataGridView שעם ההגדרה של AutoGenerateColumns מציג סדר משונה בו 01/2023 קודם ל01/2022.
        אחרי הרבה זמן פתאום עלה הרעיון במוחו של @mekev שהבעיה מתרחשת תמיד רק בטעינה נוספת לDGV כלומר אחרי שכבר היה לו מקור אחר בעבר. מה שפתאום הבנו שיש מנגנון של מחזור עמודות קיימות, ושבמקרה כזה הם לא רק נחסכות מלהיווצר אלא הם גם שומרים על מיקומם... הגדרה של DataSource = null לפני הטעינה החדשה פותר את הבעיה!

        dovidD מנותק
        dovidD מנותק
        dovid
        ניהול
        כתב ב נערך לאחרונה על ידי dovid
        #23

        קוד linqpad שממחיש את האבסורד (יש להקליק דבל קליק על הטבלה המוצגת כדי לטעון את זו שאחריה):

        void Main()
        {
            var dt1 = new DataTable();
            dt1.Columns.Add("B");
            dt1.Columns.Add("C");
            AddRow(dt1);
        
            var dt2 = new DataTable();
            dt2.Columns.Add("A");
            dt2.Columns.Add("B");
            dt2.Columns.Add("C");
            AddRow(dt2);
        
            var dgv = new DataGridView();
            dgv.DataSource = dt1;
            dgv.Dump();
        
            dgv.MouseDoubleClick += (s,e) => dgv.DataSource = dt2;
        }
        
        void AddRow(DataTable dt)
        {
            var row = dt.NewRow();
            row[0] = 123;
            dt.Rows.Add(row);
        }
        

        תוצאה:

        c66d8eff-a333-41d6-9346-8dbd2dbc1928-image.png

        • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
        • בכל נושא אפשר ליצור קשר dovid@tchumim.com
        תגובה 1 תגובה אחרונה
        2
        • dovidD dovid

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

          M מנותק
          M מנותק
          mekev
          כתב ב נערך לאחרונה על ידי mekev
          #24

          @dovid

          ממש תודה ענקית על התמיכה באישי
          (ועל ה...)

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

          ולכן יש לאפס את מקור הנתונים לפני טעינה חוזרת

          DataGridView1.DataSource = null
          
          dovidD תגובה 1 תגובה אחרונה
          1
          • M mekev

            @dovid

            ממש תודה ענקית על התמיכה באישי
            (ועל ה...)

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

            ולכן יש לאפס את מקור הנתונים לפני טעינה חוזרת

            DataGridView1.DataSource = null
            
            dovidD מנותק
            dovidD מנותק
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #25

            @mekev לא שמת לב שכבר הקדמתי אותך.

            אנחנו לא היחידים ששמנו לב לזה:
            הבעיה ב2008:
            https://www.pcreview.co.uk/threads/3551798/

            פה מוזכר הפתרון
            https://stackoverflow.com/a/38883973/1271037

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            תגובה 1 תגובה אחרונה
            2
            תגובה
            • תגובה כנושא
            התחברו כדי לפרסם תגובה
            • מהישן לחדש
            • מהחדש לישן
            • הכי הרבה הצבעות


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

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

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