دریافت 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 به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول