PDA

View Full Version : بدست آوردن مقدار انتخاب شده كاربر در combobox?



zahracomputer
دوشنبه 24 تیر 1387, 16:10 عصر
سلام و خسته نباشيد
هنگامی كه combobox را در زمان اجرا با كد زير مقدار بدهيم:


strsql = "initial catalog=buy;data source=(local)\\sqlexpress;integrated security=sspi";
st = "select * from car";
SqlDataAdapter da = newSqlDataAdapter(st, strsql);
DataSet dst = newDataSet();
da.Fill(dst, "money1");
comboBox1.DataSource = dst.Tables["money1"];
comboBox1.DisplayMember = "no";

می توان با نوشتن كد زير در pageload مقدار انتخاب شده را بدست آورد(كه با تشكر از آقای عليرضا مداح كه اين پست را معرفی كردند barnamenevis.org/forum/showpost.php?p=473024&postcount=5 (http://barnamenevis.org/forum/showpost.php?p=473024&postcount=5) ولی متاسفانه من جواب كامل نگرفتم) :


object selectvalue = (comboBox1.SelectedItem asDataRowView)["no"];

ولی من نياز دارم هنگامی كه مقدار جديدی را انتخاب و button را كليك می‌كنم به اين مقدار دسترسی داشته باشم به خاطر همين اين كد را در رويداد button_click نوشتم ولی مقدار زير را به عنواند نتيجه می‌دهد:
system.data.datarow
علت اين مشكل؟
با تشكر

bachebahal_1363
دوشنبه 24 تیر 1387, 16:51 عصر
از قطعه کد زیر استفاده کن :


string selectedValue = ((DataRowView)ComboBox.SelectedItem)["TableName"].ToString();

zahracomputer
پنج شنبه 17 مرداد 1387, 23:51 عصر
سلام، ممنون از پاسختون من اين كد را انتخاب كردم ولي هنگام ذخيره در ديتابيس خطاي زير را مي دهد:
money1 is neither a DataColumn nor a DataRelation for table money1.
با تشكر

Access
جمعه 18 مرداد 1387, 00:13 صبح
مشکل من هم شبه مشکل شما بود فقط با این تفاوت که من از listBox استفاده می کردم
لینک زیر رو یه نگاهی بکن
http://barnamenevis.org/forum/showthread.php?t=116571

jaza_sa
جمعه 18 مرداد 1387, 02:06 صبح
comboBox1.DisplayMember = "Display Fild's Name";
comboBox1.ValueMember = "Value Fild's Name";

zahracomputer
جمعه 18 مرداد 1387, 21:32 عصر
سلام دوستان
مشكل من با همون كد قبلي حل شد اشكال كار من اين بود كه نام ستون را درست نمي نوشتم.
ممنون از پاسخ هايتان.

tthenry14plus
شنبه 19 مرداد 1387, 01:23 صبح
برای اینکاری که شما میخوایید انجام بدید (بدست آوردن مقدار انتخاب شده یا فعلی combobox) اصلاً نیازی به اینکار
(string selectedValue = ((DataRowView)ComboBox.SelectedItem)["TableName"].ToString) نیست !!!!!!

خاصیت Text کامبوباکس، مقدار انتخاب شده ی کامبوباکس رو برمیگردونه که میتونید از اون استفاده کنید :


String SelectedItemStr = comboBox1.Text;


توجه کنید:
کدی که جناب bachebahal_1363 گفتن برای زمانی هست که شما می خوایید با ایندکس آیتم های کامبو کار کنید:


string selectedValue = ((DataRowView)ComboBox.Item[i])["TableName"].ToString();

و کد اولی هم که از قول جناب مداح نوشتید برای وقتی است که می خواهید به آبجکت انتخاب شده در کامبو باکس دسترسی داشته باشید :


object selectvalue = (comboBox1.SelectedItem as DataRowView)["no"];