PDA

View Full Version : سوال: استفاه از combobox



nasimP
یک شنبه 27 آذر 1390, 11:43 صبح
سلام دوستان.این errorدر هنگام استفاده از combobax رخ می دهد میشه راهننماییم کنید؟؟
Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible'.

gwbasic
یک شنبه 27 آذر 1390, 11:53 صبح
بیشتر توضیح بدید که چه کاری دارید انجام می دید. احتمالا دارید یک سطر رو به آیتم های ComboBox اضافه می کنید که خوب نمی شه باید. یک سلول خاص از اون سطر رو اضافه کنید

nasimP
یک شنبه 27 آذر 1390, 12:04 عصر
ببینید این کدیه که توی فرم لودم نوشتم>>>>
SqlConnection con = new SqlConnection(@"server=NASIM-PC;database=mdb;integrated security=true");
SqlDataAdapter da = new SqlDataAdapter("select * from mytbl", con);
DataSet ds = new DataSet();
da.Fill(ds, "mytb");
con.Open();
comboBox2.DataSource = ds.Tables["mytb"];
comboBox2.DisplayMember = "nameshahr";
comboBox2.ValueMember = "id";
comboBox2.selectedvalue="code";
con.Close();

اینم کدیه که توی رویداد
SelectedIndexChanged
نوشم>>>>>
int sum = Convert.ToUInt16(comboBox2.SelectedValue);
ممنون از کمکتون.

solaleh
یک شنبه 27 آذر 1390, 13:35 عصر
دوست عزیز به نظرم بار اول که combo داره پر میشه(در form_load) مقدار combo2.SelectedValue قابل تبدیل به UInt نیست به همین دلیل داره این خطا رو میده یعنی به جای value داره type اون value رو میده. قبل از خط int sum = Convert... خط زیر رو بنویسید و break point هم روش بذارین که نتیجه رو ببینید،خودتون متوجه میشین:
string str = comboBox2.SelectedValue.ToString();
مقدار str خودش نشون میده مشکل از کجاست...

gwbasic
یک شنبه 27 آذر 1390, 13:41 عصر
اینطور که کدتون نشون می ده id از جنس ushort هست اگه اینطور باشه باید یک عدد صحیح به SelectedValue نسبت دهید در صورتیکه شما "Code" رو نسبت دادید که اشتباه هست

لطفا کدتون رو داخل تگ #C قرار بدید تا خوانا تر باشه

nasimP
یک شنبه 27 آذر 1390, 13:52 عصر
کاری که گفتین انجام دادم.اما حالا این error رو میدهInput string was not in a correct format.

nasimP
یک شنبه 27 آذر 1390, 13:55 عصر
code از نوع intهستش.

gwbasic
یک شنبه 27 آذر 1390, 14:10 عصر
code از نوع intهستش.
من متوجه نشدم دقیقا چکار میکنید؟
برای bind کردن data به ComboBox باید چند کار انجام بدید
1- ست کردن dataSource
2- ست کردن ستونی از جدول که باید نمایش داده بشه در DisplayMember
3- در صورت نیاز ست کردن مقدار ستون انتخابی در ValueMember
که شما در این مورد Id رو ست کردین این باعث می شه که هر جا از SelectedValue استفاده کنید مقدار Id رو برمی گردونه ویا اگه مقداری رو میخواین select کنید باید اون id رو در SelectedValue بریزید.
حالا دیگه این وسط نمی دونم code چه نقشی داره اگه یک متغیر محلی هست که باید بدون "" استفاده کنید و اگه یک ستون در جدولتون هست که شما یا باید id رو انتخاب کنید یا code هردو که نمی شه!!!

solaleh
یک شنبه 27 آذر 1390, 15:07 عصر
کاری که گفتین انجام دادم.اما حالا این error رو میدهInput string was not in a correct format.
مقدار str چی بود؟