PDA

View Full Version : کار با پارامترها هنگام اجرای فرم



sa_ostad
شنبه 17 بهمن 1388, 11:33 صبح
درود به همه دوستان
یه گریدویو دارم که به یک جدول از دیتابیس بایند شده
برای آپدیت داده ها می خوام بعضی از داده ها رو از یه DropDownList بخونم پس مجبور شدم UpdateCommand که خود ویژوال استودیو ساخته رو ویرایش کنم و به جاش asp:ControlParameter قرار بدم
حالا مشکل اینه که وقتی دکمه Update رو از GridView میزنم SelectedValue و SelectedItem.Text اولین عنصر لیست و نه اون عنصری که انتخاب شده رو بر میگردونه !
ممنونه میشم راهنماییم کنید.

maxpayn2
شنبه 17 بهمن 1388, 11:44 صبح
در گریدویو نمیدونم ولی در خارج از گرید اینجوری مشکل حل میشه :




DropDownListDegree.Items.Clear();
DropDownListDegree.Items.Add("");

SqlCommand cmd = new SqlCommand("select_degree", cnn);
cmd.CommandType = CommandType.StoredProcedure;

SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
ListItem li = new ListItem(dr[0].ToString());

if (li.ToString() == Degree)
{
li.Selected = true;
}
else
{
li.Selected = false;
}

DropDownListDegree.Items.Add(li);
}



مقدار متغیر Degree رو قبلا از دیتابیس خوندم

sa_ostad
شنبه 17 بهمن 1388, 12:09 عصر
دوست عزیز فکر می کنم مشکلم رو به درستی ننوشتم
فکر می کنم مشکلم ابنه که تا دکمه Update گریدویو رو میزنم صفحه Refresh میشه و دوباره عنصر اول انتخاب میشه و در UpdateCommand قرار می گیره
حالا سوالم اینه که چطور قبل از اینکه صفحه refresh بشه پارامتر ها رو مقدار دهی کنم ؟

SAMARE
شنبه 17 بهمن 1388, 12:40 عصر
1. شما در گريد ويو از dropdownlist‌استفاده ميكنيد؟؟؟
2. ddl شما از تيبل پر ميشه؟؟؟

sa_ostad
شنبه 17 بهمن 1388, 12:55 عصر
یه نگا به فرمم بندازید لطفا

SAMARE
شنبه 17 بهمن 1388, 14:38 عصر
ببينيد دوست عزيز با توجه به فرم تون متوجه شدم كه ddl‌هاي شما در خارج گريد ويو قرار دارند بنابراين
1. ميتونيد گريد خود را در يك UpdatePanel‌بزاريد تا با فشردن دكمه update تمام صفحه رفرش نشه و فقط گريد شما رفرش بشه!!!
2. در صورتيكه با قرار دادن گريد در updateapanel دكمه هاي موجود در گريد عمل نكنند (چون اين احتمال وجود داره)راه ديگر اينه كه از session‌براي نگهداري ايتم هاي انتخاب شده ي هر ddl‌استفاده كنيد و در هنگام رفرش صفحه SelectedValue‌ مربوط به هر ddl را برابر با session مربوط به آن قرار دهيد!!!

اگه دوستان نظر ديگه اي داريد بفرماييد!!!

sa_ostad
شنبه 17 بهمن 1388, 15:50 عصر
با Updatepanel مشکل حل نشد
میرم سراغ session ها