PDA

View Full Version : مشکل در ارتباط combobox



ziduat
شنبه 19 مرداد 1392, 10:22 صبح
سلام به همه
من می خوام با کلیک برروی combobox اطلاعاتش روی یه lable نشون داده بشه
برای این کار این خط کد رو نوشتم:
lbl_check.Text = comboBox1.SelectedItem.ToString();

ولی به جای اینکه اطلاعات رو نشون بده این رو نشون میده: System.Data.DataRowView!!
ممنون میشم راهنمایی کنین :)

amir_pro
شنبه 19 مرداد 1392, 10:52 صبح
lbl_check.Text = comboBox1.Text

ziduat
یک شنبه 20 مرداد 1392, 18:00 عصر
یه مشکل دیگه هم هست!
من میخوام وقتی فرم load میشه توی lable یه خط نوشته بشه و وقتی تیک یه checkbox رو می زنم combo فعال بشه و با کلیک روی گزینه های combo متن داخل lable عوض بشه وقتی هم تیک checkbox برداشته میشه متن lable به حالت اولیه ای که بود برگرده.
همه چیز درست کار میکنه ولی وقتی فرم load میشه به جای اینکه متن اولیه lable نشون داده بشه همون عبارت داخل combo رو نشون میده!!!
مشکل از کجاست؟!!! :متفکر:

mousa1992
یک شنبه 20 مرداد 1392, 18:16 عصر
یه مشکل دیگه هم هست!
رسمش اینه که یکی برا حل مشکل تلاش کرد ازش تشکر بشه :چشمک:
خب حالا کدهاتو قرار بده تا دوستان نظرشونو اعلام کنن

ziduat
یک شنبه 20 مرداد 1392, 18:27 عصر
بله حق با شماست :)

این کدی که در رویداد load فرم نوشتم:
lbl_check.Text = "بررسی مغایرت جدول بندواو و ابلاغ به صورت کلی";

comboBox1.DataSource = dlregion.getall();
comboBox1.ValueMember = "RegionCode";
comboBox1.DisplayMember = "Region";

این کد کلیک checkbox:
if (chk_regionfilter.Checked == true)
{
comboBox1.Enabled = true;
lbl_check.Text = "بررسی مغایرت جدول بندواو و ابلاغ در منطقه ";
}
else
{
comboBox1.Enabled = false;
lbl_check.Text = "بررسی مغایرت جدول بندواو و ابلاغ به صورت کلی";
}

این هم کدی که در رویداد SelectedIndexChanged برای combobox نوشتم:
lbl_check.Text = "بررسی مغایرت جدول بندواو و ابلاغ در منطقه " + comboBox1.Text;

ممنون :)

mousa1992
یک شنبه 20 مرداد 1392, 19:38 عصر
مشکل اینه که وقتی شما comboBox رو مقدار دهی میکنی توی رویداد load به صورت اتو رویداد SelectedIndexChanged هم raise میشه و تو این رویداد هم که گفتین متن لیبل رو بذاره رو ایتم انخابی و ایتم انتخابی هم در حالت معمول ایتم اول هست ( ینی index =0 )
خب حالا برا حل این مشکل میتونی توی رویداد SelectedIndexChanged ی شرط بذاری که اگه CheckBox فعال بود متن ایتم رو به label بده و یا اینکه توی فرم لود خط اول رو ببری اخر ، ینی توی فرم لود label رو بعد از مقدار دهی ComboBox مقدار دهی کنی

موفق باشی

ziduat
دوشنبه 21 مرداد 1392, 12:08 عصر
بسیار تشکر! درست شد :)