首先说一下在DataGrid上的的onmouseover事件,大家应该都会了,使所在的那行变色:
if (e.Item.ItemType == ListItemType.Item )
{
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='AliceBlue';" ;
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#FFFFFF';" ;
}
else if(e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='AliceBlue';" ;
e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#FFFFFF';" ;
}
下面我在Repeater控件中实现同样的显示效果:(请看红色的字体显示)
<asp:Repeater ID="rptLearn" runat="server">
<HeaderTemplate><table border=1 cellpadding=0 cellspacing=0 width="100%" bordercolor=AliceBlue></HeaderTemplate>
<ItemTemplate>
<tr width="100%" height=50>
<td width="60" ><img src="picture/butterfly.gif" /></td>
<td valign="top">
<table border=0 cellpadding=0 cellspacing="0" style="width:100%; height:100%" οnmοuseοver="javascript:this.style.backgroundColor='AliceBlue';" οnmοuseοut="javascript:this.style.backgroundColor='#FFFFFF';">
<tr>
<td valign="top"><img src="picture/bigNote.gif" /><a href=bbsThread.aspx?STId=1><b><%#DataBinder.Eval(Container.DataItem,"subtitleName") %></b></a><br /></td></tr>
<tr><td><img src="picture/note.gif" /><%#DataBinder.Eval(Container.DataItem,"subtitleIntroduce") %></td></tr>
</table>
</td>
<td width=85 align=center><%#DataBinder.Eval(Container.DataItem,"subtitleSum") %></td>
<td align=center width=93><%#DataBinder.Eval(Container.DataItem,"subAdmin") %></td>
<td style="padding-left:25px" width=75><img src="picture/online.gif" /><%#DataBinder.Eval(Container.DataItem,"subContent") %></td>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>
只要你在想改变颜色的那行添加onmouseover<javascript>事件就可以了,是不是很简单?^_^!
本来想写一个类文件,导入方法就行,不用每次绑定都要添加这两个事件,不过好像行不通,以后解决了在补充上。