PDA

View Full Version : حرفه ای: قرار دادن رکوردهای جدول توی کامبو باکس با استفاده از ایندکس



aminaltavista
شنبه 31 تیر 1391, 12:26 عصر
سلام

تو فرمم دو تا کامبو باکس دارم که یکیش شهر و دیگری شهرستان ها رو نشون میده !
بگذریم . صرفا جهت اطلاع بود.فقط آیتم های دومی از اولی نشات میگیره یا به عبارتی هر کدوم از اولی رو انتخاب کنیم مقداری جدید باید توی دوی نشون بده!

این سورس کارش اینه که هر مقداری رو که انتخاب کنی شماره آیتم رو به یه تابع میده و اون تابع بر اساس اون یه مقدار String رو که معادل نام جدول توی دیتابیس هست رو بر میگردونه، تابع کارش رو درست انجام میده!

توی دستوری که مقادیر رو از جدول میخونه ، تو (command text شی Adapt) ازم خطا میگیره، آیا طور دیگری باید کارش کنم؟
ضمنا برای این که تک تک رکورد ها رو از دیتابیسم بخونه و به کامبو باکس دومی اضاف کنه از این طریق باید کار کنم؟
راستی برا هر کدوم آیتمی که از کامبو باکس اولی انتخاب میکنم یه جدول ساخته شده و همه کار این سورس باید استخراج رکوردهای جدولی باشه که انتخاب میکنم.


string g =Convert.ToString(cmbCity.SelectedIndex);
string f= Itemx(ref g);

SqlDataAdapter objAdapt = newSqlDataAdapter();
objAdapt.SelectCommand = newSqlCommand();
objAdapt.SelectCommand.Connection = objConnection;
objAdapt.SelectCommand.CommandText = "select * from "+"'" + f.ToString() + "'";
DataSet objDataset = newDataSet();
objAdapt.Fill(objDataset, f);
cmbTown.Items.Add(objAdapt);

nilmil_nil
شنبه 31 تیر 1391, 13:44 عصر
سلام
دوست غزیز
اینجور که من متوجه شدم شما میخواین مثلا یه استان رو انتخاب کنید شهرهای اون رو توی Combo دیگه نشون بده
اگه اینجوریه :
راه اصولیش اینه
شما نیاز به دو جدول دارین یکی استان ها و یکی دیگه شهر ها
Ostan :ostan_ID,ostan_Name,...
City:City_ID,City_Name,Ostan_ID
حالا باید Combo استان رو با جدول استان پر کنی
و خاصیت های DisplayMember کامبو باکس رو برابر با "ostan_name"و خاصیت ValueMember رو برابر با "ostan_ID قرار بدی
"
حالا باید با استفاده از خاصیت SelectedValue مقدار OstanID رو بخونی و با استفاده از این آی دی یه دستور Select بنویسی که با شرط ostan_id=159 برات جستجو کنه و شهر هایی که برای استان با کد 159 هست رو برگردونه
و حالا نتیجه رو تو کامبو باکس دومی بریزی
:لبخندساده: