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

TameshkiIr

عضویت : 1397/03/30 پرسش ها : 2 پاسخ ها : 2

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

ارسال شده در : ‫۱ سال و ۲ ماه قبل، یک شنبه ۱۱ شهریور ۱۳۹۷، ساعت ۰۰:۰۱

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

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

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

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

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

با تشکر از شما

ایمان مدائنی

عضویت : 1396/09/10 پرسش ها : 5 پاسخ ها : 7986
ارسال شده در :‫۱ سال و ۲ ماه قبل، یک شنبه ۱۱ شهریور ۱۳۹۷، ساعت ۰۸:۲۲

سلام

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

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

1 تشکر

TameshkiIr

عضویت : 1397/03/30 پرسش ها : 2 پاسخ ها : 2
ارسال شده در :‫۱ سال و ۲ ماه قبل، یک شنبه ۱۱ شهریور ۱۳۹۷، ساعت ۱۱:۴۲

سلام 

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

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

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

0 تشکر

ایمان مدائنی

عضویت : 1396/09/10 پرسش ها : 5 پاسخ ها : 7986
ارسال شده در :‫۱ سال و ۲ ماه قبل، یک شنبه ۱۱ شهریور ۱۳۹۷، ساعت ۱۴:۱۱

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

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

1 تشکر

TameshkiIr

عضویت : 1397/03/30 پرسش ها : 2 پاسخ ها : 2
ارسال شده در :‫۱ سال و ۲ ماه قبل، دو شنبه ۱۲ شهریور ۱۳۹۷، ساعت ۱۱:۱۳

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

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

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

 

و اینم هم تیبل کمپانی من (بین تیبل 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 ...
        
        }

 

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

با تشکر

0 تشکر

برای ارسال پاسخ باید وارد شوید و یا در سایت عضو شوید