دسته بندی ها
19:54 1400/04/23

نمایش اطلاعات دو ستون در یک ComboBox در سی شارپ

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : سی شارپ WPF Entity Framework

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 5017
3 نظر
mojtabahakimian : لطفا راهنمایی کنید باتشکر

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 10:36 1400/04/24
hamid_b : من این کار رو چندین بار انجام دادم. الان سیستم ندارم کدشو بهت بگم تا فردا اگر پاسخ نگرفتی همینجا کدشو برات قرار میدم.

امتیاز کاربر : 510   رتبه کاربر : 4   تاریخ ثبت : 11:26 1400/04/24
mojtabahakimian : مهندس ممنونم لطف میکنی کدشو رو بذاری

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 03:05 1400/04/24
ادامه نظرات ...
پاسخ دهنده : fateme 12:36 1400/04/26

برای نمایش اطلاعات دو ستون در یک کمبوباکس میتونید به روش زیر عمل کنید. روشی که در ادامه میگم خدمتتون برای سی شارپ، WPF و  حتی Asp.net می تونید استفاده کنید و هیچ محدودیتی نداره.

ببینید شما وقتی میخواید اطلاعات رو درون ComboBox و یا در وب درون یک تگ Select نمایش بدید نیاز به 2 فیلد دارید. یکی DisplayMember که فیلدی هست که اطلاعات رو به کاربر نمایش میده و یکی ValueMember که این فیلد هم کد معادل DisplayMember هست و برای ذخیره اطلاعات در دیتابیس و یا کار با اطلاعات هست.

خب نکته اینجاست شما نیاز نیست برای DisplayMember حتما یک ستون از جدول رو مشخص کنید. میتونید یک کوئری بنویسید و 2 یا چند ستون رو مشخص کنید (به عبارتی Join کنید) و نتیجه اون کوئری رو در DisplayMember نمایش بدید.

 

مثال

var query = _context.CST.Select(c => new { Value = c.Tafcode , DisplayMemebr = c.Esm + " " + c.Tafcode }).ToList()

 

خب در مثال بالا یک کوئری داریم که 2 تا فیلد در خروجی داره. فیلد اول که اسمش رو Value گذاشتیم و مقدار ID شما رو داره و فیلد دوم هم اسمش رو DisplayMember گذاشتیم و مقدار مورد نظر شما و مقداری که قراره کاربر ببینه رو نمایش میده.

حالا خیلی راحت میتونید از این کوئری استفاده کنید.

cmb.DisplayMemberPath = "DisplayMember"; 
cmb.SelectedValuePath = "Value";

از این روش در هر زبان برنامه نویسی می تونید استفاده کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود