PDA

View Full Version : مبتدی: تعییر رنگ سطرهای گریدویو با عبور موس



neda555
پنج شنبه 03 اسفند 1391, 18:05 عصر
سلام دوستان چه طور میشه با عبور موس روی سطرهای گریدویو رنگ سطرها عوض بشه؟

mRizvandi
پنج شنبه 03 اسفند 1391, 20:06 عصر
سلام

این اسکریپت رو در پیج مربوطه قرار بدید:


<script language="javascript" type="text/javascript">
var oldgridSelectedColor;
var oldgridTextColor;
function setMouseOverColor(element)
{
oldgridSelectedColor = element.style.backgroundColor;
oldgridTextColor = element.style.color;
element.style.backgroundColor = '#006066';
element.style.cursor='hand';
element.style.color = "#ffffff";
}
function setMouseOutColor(element)
{
element.style.backgroundColor = oldgridSelectedColor;
element.style.color = oldgridTextColor;
element.style.textDecoration = 'none';
}
</script>


این هم کدی که رویداد مربوطه رو به گرید وصل می کنه:



protected void gvItems_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onmouseover"] = "javascript:setMouseOverColor(this);";
e.Row.Attributes["onmouseout"] = "javascript:setMouseOutColor(this);";
e.Row.Attributes.Add("onclick", this.GetPostBackClientEvent(gvNews, "Select$" + e.Row.RowIndex.ToString()));
}
}

neda555
پنج شنبه 03 اسفند 1391, 20:39 عصر
مرسی دوست عزیز ولی جواب نداد میشه خودتون امتحانش کنید
روی e.Row.Attributes.Add("onclick", this.GetPostBackClientEvent(gvNews, "Select$" + e.Row.RowIndex.ToString())); ارور میده

mRizvandi
پنج شنبه 03 اسفند 1391, 20:48 عصر
ببخشید ولی اون اسم کنترل گرید رو باید عوض کنید، من خاطرم نبود که بهتون بگم
GRIDVIEWNAME رو به اسم گرید خودتون عوض کنید
در ضمن بدنه کد رو در رویداد RowDataBound مربوط به گرید خودتون قرار بدید


if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes["onmouseover"] = "javascript:setMouseOverColor(this);";
e.Row.Attributes["onmouseout"] = "javascript:setMouseOutColor(this);";
e.Row.Attributes.Add("onclick", this.GetPostBackClientEvent(GRIDVIEWNAME, "Select$" + e.Row.RowIndex.ToString()));
}

neda555
پنج شنبه 03 اسفند 1391, 20:59 عصر
بله همین کارو انجام دادم
این warning رو داره کار نمیکنه

Warning 3 'System.Web.UI.Page.GetPostBackClientEvent(System. Web.UI.Control, string)' is obsolete: 'The recommended alternative is ClientScript.GetPostBackEventReference. http://go.microsoft.com/fwlink/?linkid=14202' E:\tarahi web\project\sarezoo\blog\test _grid.aspx.cs 46 45 E:\...\blog\

neda555
پنج شنبه 03 اسفند 1391, 23:19 عصر
من انواع کد رو امتحان کردم
http://www.c-sharpcorner.com/uploadfile/mahakgupta/how-to-change-color-of-rows-in-gridview-on-mouseover/
http://www.codeproject.com/Questions/435326/Gridview-row-color-change-on-MouseOver
http://amitpatriwala.wordpress.com/tag/gridview-row-color-change-on-mouse-over-in-asp-net/
و...
ولی هیچ کدوم واسه من جواب نداد، فکر میکردم خیلی سادست ،عجیبه یعنی کسی تا حالا امتحان نکرده؟

Himalaya
جمعه 04 اسفند 1391, 00:33 صبح
سلام

<style type="text/css">
#GridView1 tr:hover {
background-color: red;
}

#GridView1 tr:first-child:hover {
background-color: white;
}
</style>
به جای GridView1 اسم گرید خودتو بزار

neda555
جمعه 04 اسفند 1391, 00:46 صبح
ممنون دوست عزیز بله پیداش کردم
http://www.codeproject.com/Articles/25984/Hover-Effects-for-GridView-Rows-Using-CSS
karaji333 (http://barnamenevis.org/member.php?53563-karaji333) البته این style زمانی که گرید فرمت رنگ نداشته باشه درسته در غیر این صورت با عبور موس یک درمیان رنگش قرمز مشه

Himalaya
جمعه 04 اسفند 1391, 02:20 صبح
سلام

karaji333 (http://barnamenevis.org/member.php?53563-karaji333) البته این style زمانی که گرید فرمت رنگ نداشته باشه درسته در غیر این صورت با عبور موس یک درمیان رنگش قرمز مشه
استایلی که گزاشتم واسه یه گرید تو ساده ترین حالتش بود. منظورم این نبود به همین صورت کپی پیست کنید و جواب بگیرید. مشخصه که بسته به کدای شما، این کدا هم نیازمند تغییره

neda555
جمعه 04 اسفند 1391, 14:12 عصر
قصد جسارت نداشتم ... فرمایش شما صحیح ،بازم ممنون

atarodi
جمعه 04 اسفند 1391, 14:25 عصر
شما اول باید با جاوا اسکریپت آشنایی مختصر داشته باشید . تا بتونید کد بالا رو بسته به نیازتون تغییر بدید. ببخشید. قصد جسارت نداشتم.