PDA

View Full Version : سوال: بایند کردن dropdownlist های مرتبط



mahtab kf
چهارشنبه 06 دی 1391, 13:55 عصر
با سلام
من این موضوع رو سرچ کردم و مطلبی رو هم پیدا کردم اما مشکلم حل نشد بخاطر همین دوباره سوالو مطرح کردم:
من یک dropdownlist دارم که به جدولم تو دیتابیس بایند میشه حالا می خوام با انتخاب یک آیتم از آن dropdownlist دومم با شرط این انتخاب از همون جدول آیتم بگیره اما هر کاری میکنم نمیشه کدهامو در زیر گذاشتم ممنون میشم راهنماییم کنید


public void ddlnameBind()
{
SqlConnection con = new SqlConnection(...);

string query1 = "select DISTINCT NameItem from TBItem";

SqlCommand cmd1 = new SqlCommand(query1, con);

con.Open();


SqlDataReader dr1 = cmd1.ExecuteReader();
ddlname.DataSource = dr1;
ddlname.DataTextField = "NameItem";
ddlname.DataValueField = "NameItem";
ddlname.DataBind();
ddlname.SelectedIndex=1;


در رویداد SelectedIndexChanged همین دراپدان هم این کد رو نوشتم:


string query2 = "select DISTINCT brandItem from TBaddItem where NameItem=@name";

SqlCommand cmd2 = new SqlCommand(query2, con);
cmd2.Parameters.AddWithValue("@name",name);
con.Open();

SqlDataReader dr2 = cmd2.ExecuteReader();
ddlBrand.DataSource = dr2;
ddlBrand.DataTextField = "brandItem";
ddlBrand.DataValueField = "brandItem";
ddlBrand.DataBind();

con.Close();

اما dropdownlist دوم خالی نشون داده میشه

mehrzad_ali
چهارشنبه 06 دی 1391, 17:45 عصر
if(!isPostback)
گذاشتید ؟

malloc
چهارشنبه 06 دی 1391, 19:28 عصر
احتمال هم داره خاصیت autopostback رو غیر فعال کردی

باید خط به خط تریس کنی ببینی مقدار کجا خالی میشه

mahtab kf
پنج شنبه 07 دی 1391, 10:28 صبح
if(!isPostback)
گذاشتید ؟
نه، کجا بذارم؟ یه بار تو قسمت SelectedIndexChanged گذاشتم بعد کدهای مربوط به ddl دوم رو توش گذاشتم اما اتفاقی نیوفتاد

mahtab kf
پنج شنبه 07 دی 1391, 10:39 صبح
احتمال هم داره خاصیت autopostback رو غیر فعال کردی

باید خط به خط تریس کنی ببینی مقدار کجا خالی میشه
میشه بیشتر توضیح بدید؟اولش من autopostback دراپدان اول رو true کردم اما صفحه فقط رفرش میشد و هیچ اتفاق خاصی هم نمیوفتاد به خاطر همین برداشتمش

mahtab kf
پنج شنبه 07 دی 1391, 11:15 صبح
من کارهایی که هر دو دوست عزیز گفته بودید رو انجام دادم یعنی 1.خاصیت autopostback دراپدان اول رو true کردم و 2.تو قسمت SelectedIndexChanged دراپدان اول(if(!isPostback رو اضافه کردم
دراپدان دوم مقدار رو نشون داد اما حالا هر آیتمی که از دراپدان اول انتخاب می کنم صفحه رفرش میشه و دوباره همون آیتم پیش فرض نشون داده میشه یعنی هیچ آیتمی انتخاب نمیشه!!!!

malloc
پنج شنبه 07 دی 1391, 11:44 صبح
دوست عزیز الان یه مثال درست کردم که دوتا دراپ داره و براساس اولیه دومیه پر میشه. خودت اینو به چندتا دراپ تعمیمش بده

97353