как сохранить orgianl backgroundColor при наведении? - PullRequest
0 голосов
/ 28 сентября 2011

ниже - это код, который работает нормально, но единственная проблема, с которой я столкнулся: переопределение альтернативной строки с помощью backgroundColor='white' как я могу иметь свой оригинальный альтернативный цвет при onmouseout?

<AlternatingRowStyle BackColor="#DEEEE9" Font-Size="8pt" />

if (e.Row.RowType == DataControlRowType.DataRow)
{
    e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#C2D69B'");
    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='white'");
    e.Row.Attributes.Add("style", "cursor:pointer;");
}

Ответы [ 5 ]

0 голосов
/ 21 августа 2012

Это хорошо работает с гораздо меньшим количеством кода. Создайте пользовательский атрибут при наведении курсора перед установкой backgroundColor и используйте его при наведении мыши. Прекрасно работает для чередующихся цветов.

row.Attributes["onmouseover"] = this.originalstyle=this.style.backgroundColor;this.style.cursor='hand';this.style.backgroundColor='#ffccff';";

row.Attributes["onmouseout"] = "this.style.textDecoration='none';this.style.backgroundColor=this.originalstyle;";
0 голосов
/ 28 сентября 2011

Попробуйте что-то вроде этого:

var color = "<%=System.Drawing.ColorTranslator.ToHtml(GridView1.AlternatingRowStyle.BackColor)%>";
0 голосов
/ 28 сентября 2011

вместо указания конкретного цвета используйте атрибуты hover css. Увидеть: http://www.codeproject.com/KB/webforms/MouseHoverUsingCSS.aspx

0 голосов
/ 28 сентября 2011

Вы можете указать, какой именно цвет должен быть восстановлен на onmouseout:

if (e.Row.RowType == DataControlRowType.DataRow)
{
    string bgcolor = "white"
    if (e.Row.RowState == DataControlRowState.Alternate)
    {
       bgcolor = "#DEEEE9";
    }

    e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#C2D69B'");
    e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='" + bgcolor  + "'");
    e.Row.Attributes.Add("style", "cursor:pointer;");
}
0 голосов
/ 28 сентября 2011

Я не понимаю, почему бы просто не извлечь "e.Row.Attributes.Add (" onmouseout "," this.style.backgroundColor = 'white' ");" и установить его в цвет оригинальной альтернативы ???

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...