دریافت Text انتخاب شده در کمبوباکس در سی شارپ
توی برنامه ام با سی شارپ یک ComboBox دارم که میخوام مقدار Text انتخاب شده رو دریافت کنم و در دیتابیس ذخیره کنم.
برای این کار از دستور زیر استفاده می کنم
string name = combobox1.SelectedText;
اما متاسفانه هر بار که تست میکنم مقدار Text بازگردانی شده نال هست. توی این لینک هم نگاه کردم که پیشنهاد داده از این دستور استفاده بشه
string name = combobox1.Text;
اما این دستور هم بنظرم مشکل داره چون اگر کاربر متن کمبوباکس رو تغییر بده و چیزی تایپ کنه مقدار Text برابر با متن تایپ شده توسط کاربر میشه و عملا فایده ای نداره.
تصویر زیر کمبوباکس من هست

ممنون میشم دوستان راهنمایی کنن
پاسخ هوش مصنوعی
برای دریافت مقدار انتخاب شده از ComboBox در سی شارپ، به جای استفاده از SelectedText باید از SelectedItem یا SelectedValue استفاده کنید. این متدها به شما اجازه می دهند تا مقدار واقعی انتخاب شده در ComboBox را دریافت کنید.
در زیر یک مثال ساده آورده شده است که نشان می دهد چگونه می توانید مقدار انتخاب شده را دریافت کنید:
// برای دریافت مقدار انتخاب شده
string name = combobox1.SelectedItem.ToString(); // یا
string name = combobox1.SelectedValue.ToString(); // اگر ComboBox مقدار خاصی داشته باشد
با استفاده از SelectedItem، شما به مقدار واقعی انتخاب شده دسترسی پیدا می کنید و این مشکل را که کاربر متن جدیدی تایپ کرده حل می کند. اطمینان حاصل کنید که ComboBox شما به درستی با داده ها پر شده است و SelectedItem به درستی مقدار انتخاب شده را برمی گرداند.
برای دریافت مقدار Text انتخاب شده در کنترل کمبوباکس در سی شارپ دستور زیر صحیح هست
string name = combobox1.Text;
برای اینکه کاربر نتونه متن کمبوباکس رو تغییر بده میتونید خاصیت DropDownStyle رو برابر با DropDownList قرار بدید.
اما شما میتونید برای اینکه این مشکل رو هم هنگام دریافت تکست انتخاب شده در کمبو باکس نداشته باشید از دستور زیر استفاده کنید
string name = combobox1.GetItemText(combobox1.SelectedItem);
دستور بالا بنظرم بهترین قطعه کد برای این منظور هست.
همچنین برای دریافت Id ردیف انتخاب شده در ComboBox هم میتونید از دستور زیر استفاده کنید
int id = Convert.Toint32(combobox1.selectedValue);
با سلام. دوست عزیز اگر کمبوباکس رو با ItemSource مقدار دادید میتونید از کد زیر استفاده کنید.
((DataSource)combobox1.SelectedItem).Value;
در کد بالا به جای DataSource ویو یا تیبلی که به کومبوباکس وصل کردید رو قرار دهید و به جای Value فیلد مورد نظرتون در ویو یا تیبل که همون تکست( نام مامور) میشه رو قرار بدید.
خوبی این کد اینه که شما هر فیلدی در دیتاسورس کمبوباکس، با توجه به مقدار انتخاب شده کمبوباکس میتونید بدست بیارید.
- جلوگیری از اد شدن خودکار در گروه و کانال تلگرام
- کم کردن حجم فیلم توسط کد در Asp net core
- چه کسانی استوری تلگرام را می بینند ؟
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- چرا استوری های واتس اپ برای دوستان نمایش داده نمیشن ؟
- چند تا استوری رایگان می تونیم تلگرام بذاریم ؟
- خطای Severity Code Description Project هنگام استارت پروژه
- کار نکردن navBar و sideBar در پروژه Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول