PDA

View Full Version : سوال: مشکل در برگرداندن اطلاعات پایگاه داده در گریدویو با استفاده از توابع javascript



razi_a
پنج شنبه 18 آبان 1391, 11:48 صبح
با سلام خدمت اساتید گرامی
من مشکلی در برگرداندن اطلاعات پایگاه داده در گریدویو دارم که مطمئناً شما می تونید به من کمک کنم. من یک گریدویو دارم که در page load صفحه مقداردهی می شود. در قسمت template grid view دو check box دارم. یکی از فیلدهای جدول مقدار true یا false می گیرد. اگر مقدار آن که با استفاده از Eval برگردانده شده true باشد باید check box اول true شود و اگر false باشد check box دوم. برای چک کردن این شرط می خوام از تابع java script استفاده کنم اما نمی دانم این تابع را در کجا فراخوانی کنم.
البته من در استفاده از توابع java و در کل در asp.net تقریبا مبتدی هستم. شاید نحوه فکر کردن من اشتباه باشه. لطفا من را راهنمایی کنید.

saeed_sho
پنج شنبه 18 آبان 1391, 15:06 عصر
به جای استفاده از جاوا اسکریپت از event ItemDataBound گرید استفاده کنید در code behind

rana-writes
پنج شنبه 18 آبان 1391, 15:20 عصر
سلام
از رويداد RowDataBound توي گريد ويو استفاده كنين
براي دسترسي به عناصر توي گريد هم اينطوري ميتونين عمل كنين



protected void GridViewInbox_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow item = e.Row;
if (item.DataItem == null)
{
return;
}

LinkButton LbSub = (LinkButton)item.FindControl("LbSub");
CheckBox ChReadIn = (CheckBox)item.FindControl("ChReadIn");
Image ImgRead = (Image)item.FindControl("ImgRead");

if (ChReadIn.Checked)
{
LbSub.Font.Bold = false;
ImgRead.ImageUrl = "~/images/ReadMessage.gif";
}
else
{
LbSub.Font.Bold = true;
ImgRead.ImageUrl = "~/images/NewMessage.gif";
}
}


اين كدهايي كه براتون گذاشتم توي برنامه ي خودمه يه صندوق پيام براي كاربران ايجاد كردم و اين شرط بررسي ميكنه اگه پيامي خونده نشده باشه- يعني همون جايي كه داره شرط checkbox بررسي ميشه- عنوانش بولد باشه و عكس كنارش يه پاكت نامه ي در بسته بياد
شما هم به همين ترتيب شرط گذاري و دسترسيتون به عناصر داخل گريد رو كدنويسي كنين
ضمن اينكه من هم از TemplateField استفاده كردم


موفق باشين

razi_a
پنج شنبه 18 آبان 1391, 21:24 عصر
سلام، با تشکر از دوستان
من کدهای شما رو دیدم. ولی رویداد rowdatabound قبل از مقداردهی check box توسط Eval اجرا می شه یعنی item.dataitem برابر با null میشه.

rana-writes
دوشنبه 22 آبان 1391, 19:50 عصر
اين رويداد براي دفعه اول اجرا ميشه و كاري انجام نميده
دفعات بعد كه ميره توي Aspx و eval ها رو پر ميكنه درست انجام ميده