PDA

View Full Version : ComboBox



shima2006
چهارشنبه 21 مرداد 1388, 00:31 صبح
سلام دوستان
من چند تا ComboBox تو یک صفحه دارم که خصوصیت DataSource همه اونها یکسانه.

موقع اجرا وقتی من یک گزینه رو از ComboBox اول انتخاب می کنم بقیه Combo ها هم همون مقدار رو میگیرن!!!
مثلا اگه از Combo اولی رنگ زرد رو انتخاب کنم بقیه Combo ها هم همزمان زرد رو نشون میدن:متفکر:

alireza_tavakol
چهارشنبه 21 مرداد 1388, 01:59 صبح
فکر کنم شما از کد زیر استفاده کردی

comboBox2 = comboBox1;

در صورتی که باید از کد زیر استفاده می کرد

comboBox2.DataSource = comboBox1.DataSource;

keivan mousavi
چهارشنبه 21 مرداد 1388, 02:19 صبح
خوب من پیشنهاد میکنم برای هر کدوم از DataSource یک کلاس تعریف کنی و کلاسهایی که میخوای با هم پیوند داشته باشنو ریپلیکیت کنی

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

shima2006
چهارشنبه 21 مرداد 1388, 09:29 صبح
فکر کنم شما از کد زیر استفاده کردی

کد:
comboBox2 = comboBox1;

ولی من این کار رو نکردم

shima2006
چهارشنبه 21 مرداد 1388, 13:08 عصر
کسی نمیدونه چرا مقادیر ComboBox های من همزمان تغییر می کنند؟؟؟؟

Sociant
چهارشنبه 21 مرداد 1388, 13:56 عصر
باید واسه هرکدوم از ComboBox ها ، BindingSource جدا قرار بدی

shima2006
چهارشنبه 21 مرداد 1388, 15:08 عصر
باید واسه هرکدوم از ComboBox ها ، BindingSource جدا قرار بدی

میشه بگید منظورتون از BindingSource چیه؟
ComboBox یک خصوصیت DataBinding داره که فکر نکنم ربطی به ماجرا داشته باشه و یک خصوصیت DataSource داره که چون همه Combo ها از یک جدول در دیتابیس می خونن در نتیجه این خصوصیت برای همه Combo ها یکسانه....

majid325
پنج شنبه 22 مرداد 1388, 04:03 صبح
من چون تو برنامه هام زیاد از اشیا مختلف ado استفاده نمیکنم روش صحیحشو نمیدونم ولی فکر کنم اگر برای هر کدوم یک dataadapter جدا در نظر بگیری درست بشن.

ولی در کل اگه یک بار مقادیر رو تو یه ارایه بریزی و بعد combo ها رو به آرایه bind کنی فکر کنم بهتر باشه.

Mohsen229266
پنج شنبه 22 مرداد 1388, 11:23 صبح
با سلام دوست عزیز وقتی DataSource کومبو هاتو ست میکنی نباید این مشکل پیش بیاد ولی در کل اگه برای هر کدومش از SqlDataAdapter استفاده کنی این مشکل پیش نمی یاد

mn_zandy63
پنج شنبه 22 مرداد 1388, 21:33 عصر
این یکی از خواص binding هست. وقتی که binding source چند تا کنترل یکی باشه٬ وقتی یکیشون تغییر میکنه٬ بقیه هم تغییر میکنن. همونطور که دوستمون Sociant گفتن باید باید برای هر کردوم از‍ combo ها یک bindingsource جداگانه قرار بدی.
اگه متوجه نشدی٬ فرمت رو اینجا بزار تا بهت بیشتر توضیح بدهم.

Sociant
پنج شنبه 22 مرداد 1388, 23:31 عصر
میشه بگید منظورتون از BindingSource چیه؟
اگه شما با استفاده از محیط طراحی visual studio ، دیتا تیبلی به کنترل هایی مثل ComboBox و DataGridView اختصاص بدین ، بطور خودکار یه شی از BindingSource به عنوان DataSource به این کنترلها اختصاص داده میشه. حالا اگه چند تا کنترل از BindingSource یکسانی استفاده کنند ، تغییرات تو همشون بصورت یکسان قابل مشاهده است

shima2006
جمعه 23 مرداد 1388, 00:24 صبح
متشکرم دوستان
حل شد:چشمک: