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

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

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

WPF DisplayMemberPath datagridcomboboxcolumn

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

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

    תודה לכולם.

    פורסם במקור בפורום CODE613 ב13/01/2014 23:11 (+02:00)

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

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

      בשימוש בDataTemplate אז הDataContex הוא פריט מהרשימה, ואפשר לאגד אלמנטים מאפיינים.

      במקרה שלך זה אמור להיראות בערך ככה:

      <ComboBox.ItemTemplate>
          <DataTemplate>
              <StackPanel Orientation="Horizontal" >
                  <TextBlock Text="{Binding FirstName}" Margin="0,0,6,0" />
                  <TextBlock Text="{Binding LastName}" />
              </StackPanel>
          </DataTemplate>
      </ComboBox.ItemTemplate>
      

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

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

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

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

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

        ב datagridcomboboxcolumn דברים אלו עבדו די פשוט והכל היה מתעדכן ומומר הלוך ושוב כמו שצריך, אבל כשמשתמשים ב DataGridTemplateColumn זה אחרת.
        תודה.

        פורסם במקור בפורום CODE613 ב14/01/2014 12:56 (+02:00)

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

          @רחמים

          אז בעצם אתה מציע להשתמש ב במקום ב datagridcomboboxcolumn.

          לא הצעתי לך את זה.
          אכן לא שמתי ליבי שעיצוב הItemTemplate של DataTemplateDataGridTemplateColumn הוא מסובך, ככה:

          <DataGridComboBoxColumn.ElementStyle>
              <Style TargetType="ComboBox">
                  <Setter Property="ItemTemplate">
                      <Setter.Value>
                          <DataTemplate>
                              <TextBlock Text="{Binding Path=Name}" />
                          </DataTemplate>
                      </Setter.Value>
                  </Setter>
              </Style>
          </DataGridComboBoxColumn.ElementStyle>
          

          אבל גם מה שכתבת זה ממש אפשרי, ואיגוד הID נעשה גם ע"י בינדינג בין הSelectedValue של הקומבו לשדה המתאים לעמודה זו.

          פורסם במקור בפורום CODE613 ב14/01/2014 13:21 (+02:00)

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

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

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

            תודה רבה !
            ויישר כח עצום!
            זה עובד מצויין. 🙂

            רק הוספתי חוץ מ DataGridComboBoxColumn.ElementStyle גם את אותו הסטול עבור DataGridComboBoxColumn.EditingElementStyle כדי שתמיד יוצג בתא הטקסט הנכון.

            פורסם במקור בפורום CODE613 ב14/01/2014 13:33 (+02:00)

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

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

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

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