PDA

View Full Version : سوال: مشکل در Combobox



samirhm
جمعه 27 دی 1398, 19:15 عصر
سلام دوستان
من در Combobox سه تا آیتم دارم:
1.علوم انسانی
2.علوم پزشکی
3.علوم فنی و مهندسی
حالا فرض کنید من قبلا یک رکورد با آیتم «علوم فنی و مهندسی» به پایگاه داده(SQL Server) اضافه کردم.
حالا میخوام اون رو ویرایش کنم، اون رو فراخوانی میکنم، داخل یک متغیر به نام temp میریزم.
حالا با دستور زیر اون رو درون Combobox با دستور selectedItem ست میکنم:
comboBox1.SelectedItem = temp;
اما هیچی ست نمیشه! اگر آیتم ها به زبان انگلیسی باشند ست میشه، اما با زبان فارسی ست نمیشه! چرا ؟!

ASHKANLAEI
جمعه 27 دی 1398, 19:26 عصر
ممکنه مقدار temp با آیتم داخل combo فرق داشته باشه.
این شرط رو چک کنید درسته یا نه؟

comboBox1.Items.Contains(temp)

samirhm
جمعه 27 دی 1398, 19:50 عصر
ممکنه مقدار temp با آیتم داخل combo فرق داشته باشه.
این شرط رو چک کنید درسته یا نه؟

comboBox1.Items.Contains(temp)
شرط درست نیست، ولی مقدار داخل temp دقیقا برابر با "علوم فنی و مهندسی" است!
حتی وقتی temp رو داخل یک شرط به صورت زیر مینویسم، مقدار درست نیست !:
if(temp == "علوم فنی و مهندسی")
حتی وقتی با equals هم چک میکنم false بر میگردونه !

ASHKANLAEI
شنبه 28 دی 1398, 06:46 صبح
temp رو با تابع زیر مقدار دهی کنید:
string justPersian(oldString) {
var c = "ابپتثجچحخدذرزژسشصضطظعغفقک گلمنوهی ";
string newString = "";
foreach (char currentChar in oldString) if (c.Contains(currentChar) newString += currentChar;
return newString;
}اونجا که دو تا علامت سواله بجاش «ک» بذارید

samirhm
شنبه 28 دی 1398, 09:32 صبح
temp رو با تابع زیر مقدار دهی کنید:
string justPersian(oldString) {
var c = "ابپتثجچحخدذرزژسشصضطظعغفقک گلمنوهی ";
string newString = "";
foreach (char currentChar in oldString) if (c.Contains(currentChar) newString += currentChar;
return newString;
}اونجا که دو تا علامت سواله بجاش «ک» بذارید
مشکل رو متوجه شدم،اگر مقدار متغییر temp من برابر با «علوم فنی و مهندسی» باشه، تمامی حرف «ی» در این جمله به صورت حرف «ي» عربی هستند! چرا ؟
الان که نگاه کردم، من هرچی که ذخیره میکنم، اگر حرف «ی» فارسی رو داشته باشه عربی ذخیره میشه! من موقع ذخیره، متن داخل TextBox ها و Combobox ها رو به پایگاه داده ارسال میکنم، چطور باید فارسی بشه؟

رامین مرادی
شنبه 28 دی 1398, 10:07 صبح
سلام .پیشنهاد میکنم valuemember و displaymember رو ست کنید و برای انتخاب مقادیر کومبو از selectedvalue و selectedtext استفاده کنید. (البته ممکنه کمی نیاز به تغییرات در برنامه تون باشه .)

samirhm
شنبه 28 دی 1398, 10:29 صبح
ممنون از همگی، مشکلم حل شد !