|
سلام دوستان ، من در Wpf یک Listbox دارم که میخوام ترکیبی از چند collection باشه در حقیقت به چند collection بایند باشه ، کسی میتونه راهنماییم کنه ؟
سلام خوب این شد یک توضیح کامل حالا جواب شما ( با استفاده از LINQ) چند راه داری ساده ترین حالت اینه که اسامی فیلد های دوتا جدولت یکی باشه پس با کد زیر مشکلت حل میشه
var q = db.Person1s.Select(a=> a.Name).Union(db.Person2s.Select(a=> a.Name)).ToList();
this.listBox1.ItemsSource = q;
را ه دوم برای این کار <>List از یکی از جدول هات درست میکنی مثلا من جدولی دارم به نام Person1 و Person2
DataClasses1DataContext db = new DataClasses1DataContext();
List<Person1> list = new List<Person1>();
list = db.Person1s.Where(a => a.ID > 99).ToList();
foreach (var item in db.Person2s)
{
list.Add(new Person1{Name = item.Name});
}
this.listBox1.ItemsSource = list;
در کد Xaml هم برای لیست باکس مینویسم
DisplayMemberPath="Name"
این ها ساده ترین حالت بود بعضی وقتها لزوم یک کلاس جدید درست کنی و لیست رو از اون بسازی و بعد اطلاعات جدول اول رو توی اون لیست و جدول دوم رو هم به اون اضافه کنی و ListBox رو به لیستی که از کلاس جدید درست کردی بایند کنی
سلام میشه بیشتر توضیح بدید؟؟
من یک لینک بهتون میدم ببینید منظورتون همینه؟؟ http://stackoverflow.com/questions/896587/wpf-bind-collection-with-collection-to-a-listbox-with-groups
مثال بسیار خوبی بود . البته فکر کنم مشکلم ساده تر از این باشه ، در این لینک هر آیتم لیست رو به لیست دیگه ای بایند کرده ، ولی من میخوام که محتوای دو تا لیست رو در یک listbox داشته باشم . یعنی ابتدا تمام داده های لیست اول بیاد و بعد داده های لیست دوم و به همین شکل تا آخر . مرسی