• 1397/06/11

نمایش اطلاعات چند تیبل در یک دیتا گرید :

سلام وقت شما بخیر استاد عزیز

امیدوارم هر جا که هستید موفق باشید.

من میخوام که اطلاعات دو تا جدول را در یک دیتا گرید نمایش بدم بطور مثال یک تیبل contacts  دارم که مثلا نام و نام خانوادگی و شماره تماس هست و هر کدوم از این کانتکت ها جز یک گروه هستند که اطلاعات گروه در داخل یک تیبل جداگانه قرار داره و با ای دی دی تیبل کانتکت مشخص میشه حالا اگر من بخوام که ستون های جدولم نام و نام خانودگی و شماره و گروه (اسم گروه) در یک تیبل نشون داده بشه چطور میتونم این کار را انجام بدم(چون یک دیتا سورس بیشتر بهش نمیدم) 

ایا اول باید دیتاهایی که دارم دریافت و ای دی را به نام تغییر بدم یا باید کار دیگه ای انجام بدم ؟

دیزاین برنامه من با wpf ساخته شده .

با تشکر از شما

  • 1397/06/11
  • ساعت 08:22

سلام

باید join بزنید و اطلاعات مورد نیاز را واکشی کنید و در گرید نمایش بدید

میتونید از ViewModel هم استفاده کنید


  • 1397/06/11
  • ساعت 11:42

سلام 

پس یعنی اول باید تبدیل انجام بدم بعد ست کنم.

راهی نداره که بگیم این ستون دیتاهاشا داخل دیتا گرید با این مقادیر ست بشه پس.

ممنون از اینکه وقت گذاشتید


  • 1397/06/11
  • ساعت 14:11

خیر خودش نمیتونه تغییر بده 

مگر فقط شیوه نمایش 


  • 1397/06/12
  • ساعت 11:13

سلام و عرض خسته نباشید

جناب مدائنی من هر کار کردم به بن بست خوردم.ممنون میشم اگر دستورش را برام بنویسید.

این تیبل کانتکت من هست

 

و اینم هم تیبل کمپانی من (بین تیبل Contacts  و  Company یه ریلشن هست که ای دی کمپانی را بهش وصل میکنه)

من الان میخوام داخل DataGrid خودم نام و نام خانوادگی شماره تماس ، واحد و نام شرکت که تو تیبل company هست را بدم.

مدل Contacts به صورت زیره 

 public partial class Contacts
    {
        public int id { get; set; }
        public int CompanyId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Unit { get; set; }
        public string Phone { get; set; }
    
        public virtual Company Company { get; set; }
    }

و الان من طبق فرمایش شما یه مدل جدید ساختم به شکل زیر 

    public class ContactsViewModel
    {

        public int id { get; set; }
        public int CompanyId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Unit { get; set; }
        public string Phone { get; set; }
        public string Company { get; set; }

    }

که  تقریبا همون مدل Contacts هست ولی این دفعه اسم کمپانی را بر می گردونه.

الان داخل ریپوزیتوری Contacts هم یه اینترفیس نوشتم به شکل زیر 

IEnumerable<ContactsViewModel> GetAllContacts();

حالا شما لطف کنید بگید که من باید چه کدی بنویسم قسمت 

        public IEnumerable<ContactsViewModel> GetAllContacts()
        {
      
// code ...
        
        }

 

و این قسمت هم دیتاگرید منه

با تشکر


logo-enamadlogo-samandehi