下面的代码工作正常,但我唯一的问题是:它用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;");
}
答案 0 :(得分:0)
我不明白,为什么不拿出“e.Row.Attributes.Add(”onmouseout“,”this.style.backgroundColor ='white'“);”并将其设置为原始备用颜色???
答案 1 :(得分:0)
而不是指定特定颜色,请使用悬停css属性。 看到: http://www.codeproject.com/KB/webforms/MouseHoverUsingCSS.aspx
答案 2 :(得分:0)
您可以指定在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;");
}
答案 3 :(得分:0)
尝试这样的事情:
var color = "<%=System.Drawing.ColorTranslator.ToHtml(GridView1.AlternatingRowStyle.BackColor)%>";
答案 4 :(得分:0)
这适用于更少的代码。在设置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;";