PDA

View Full Version : سوال: Combobox سفارشي يا ؟



odiseh
پنج شنبه 23 اردیبهشت 1389, 15:55 عصر
سلام
من يه Table دارم كه در حقيقت اطلاعات پايه توي اون نگهداري ميشه.

براي نمايش اون اطلاعات در فرم برنامه ، از يك Combobox استفاده كرده ام. مشكل من اينه كه DisplayMember اون Combobox در حال حاضر فقط يك فيلد از جدول رو نشون ميده و من مي خوام كه تركيبي از 2 فيلد باشه. مثلا كد + شرح

براي اين من بايد يك Combobox سفارشي بنويسم يا با سك سري تنظيمات در Combobox عادي خود .Net هم اين كار شدني هستش؟

odiseh
شنبه 25 اردیبهشت 1389, 10:30 صبح
از دوستان كسي پاسخ اين سوال رو نميدونه؟

elahe1364
شنبه 25 اردیبهشت 1389, 12:19 عصر
باید طرف بانک اطلاعاتیت مثلا توی دستور select کد رو طوری بنویسی که مقدار فیلدی رو که به خصوصیت display member نسبت میدی به صورت "کد+شرح" برگردونه.

sia_2007
شنبه 25 اردیبهشت 1389, 13:38 عصر
البته اگه راهکار بالایی که جواب میده مد نظرت نیست؛ میتونی با WPF راحت یه کمبو باکس سفارشی درست کنی و مثلا عکس هم نشون بدی

odiseh
شنبه 25 اردیبهشت 1389, 14:44 عصر
البته اگه راهکار بالایی که جواب میده مد نظرت نیست؛ میتونی با WPF راحت یه کمبو باکس سفارشی درست کنی و مثلا عکس هم نشون بدی

ضمن تشكر، ميشه بيشتر توضيح بدين؟

shahab_ss
سه شنبه 28 اردیبهشت 1389, 09:36 صبح
اگر نمایش بیش از یک ستون رو نیاز نداری، میتونی از SelectedItem استفاده کنی که کل آبجکت مورد نظرت رو داره.
اما اگر نیاز داری که ستونها بصورت مجزا نمایش داده بشه میتونی از این کنترل استفاده کنی

http://www.codeproject.com/KB/combobox/multicolumncombo.aspx

odiseh
سه شنبه 28 اردیبهشت 1389, 10:51 صبح
باتشكر از دوستان ببينيد من نمي خوام كه Combobox مورد نظرم وقتي كه كاربر روي دكمه اش كليك مي كنه، يك ListBox رو ببينه. فقط و فقط مي خوام كه DisplayMember اون به صورت
كد + شرح باشه. يكي از دوستان گفت كه از طريق WPF اين كار امكانپذيره.

sia_2007
سه شنبه 28 اردیبهشت 1389, 15:10 عصر
در مثال شماره یک؛ یک کمبو باکس دیده میشه؛ که از 2 برچسب و یک عکس و یک قاب نرم زیبا برای هر ردیف استفاده کرده.
زمانی که در XAML تگ خالی Combo Box رو مینویسی؛ به یک اسکلت کار دسترسی پیدا میکنی.
کار این اسکلت اینه که یک سری از آیتم هایی رو که نوشتید رو به سمت پایین باز میکنه و میبنده !!!
این خیلی جالبه؛ مثلا شما میگی که هر آیتم کمبو باکس که میآد پایین ؛ نام ناشر و نام نویسنده و شابک و عکس روی جلد کوچک کتاب رو نشون بده.
این قسمتش آسون تر از اونیه که فکر کنی.
ولی امان از Binding اش.
البته من شنیدم اینها تو WPF آسونتره؛ تو Silverlight که اشک من رو درآورده و پاک Overload کردم.
راه حلش اینه که یه کتاب خوب پیدا کنی و شروع کنی.
البته اگه نمیخوای WPF رو تا ته بخونی ؛ میتونی دنبال Sample ها و HDI رو نت بگردی
---
حال یه بحثی هست؛ اگه شما بخوای 2 تا یا 3 تا یا بیشتر Display Member داشته باشی؛ با این روش مشکلی نیست؛ دستتون با XAML راحت گرم میگیره؛ اما خب اول دو تا Sample ببینید؛ شاید قیدش رو زدید.

sia_2007
سه شنبه 28 اردیبهشت 1389, 15:11 عصر
البته اصلاح میکنم که عکس بالا فقط یک Display Member داره.
اما من الآن خودم دارم رو Binding یه کمبو باکس کار میکنم که Label داره و Check Box البته Read Only

shahab_ss
سه شنبه 28 اردیبهشت 1389, 16:33 عصر
امیدوارم این مثال کار شما رو راه بندازه ،
البته از Generic List بعنوان Data Source استفاده کردم.

موفق باشی

odiseh
چهارشنبه 29 اردیبهشت 1389, 08:51 صبح
shahab_ss , sia_2007

مطالبتون رو خوندم.
از هر دوي شما تشكر مي كنم.
shahb_ss : شما هم در مثالي كه upload كرده بودين، DataSource رو بهش يه فيلد اضافه كرده بودين.
sia_2007 : من يه سوال داشتم. فرض كنيم كه از طريق WPF يه Combobox با DisplayMember مورد نظر ايجاد كرديم. حالا اين Combobox رو چطوري توي يه پروژه WindowsApplication ميشه ازش استفاده كرد؟