我有一个gridview:
<asp:GridView ID="gvwProd" runat="server" CssClass="gridview" ShowHeaderWhenEmpty="true"
AllowPaging="true" BackColor="ButtonFace" OnRowDataBound="gvwProd_OnRowDataBound"
OnRowCreated="gvwProd_RowCreated" OnSorting="gvw_OnSorting" AllowSorting="true"
AutoGenerateColumns="false" ShowFooter="false">
我正在尝试为每行上的特定单元格设置一个手动悬停图标:
protected void gvwProd_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[2].Attributes.Add("onmouseover", "document.body.style.cursor='hand'");
e.Row.Cells[2].Attributes.Add("onmouseout", "document.body.style.cursor='auto'");
}
}
onmousover和onmouseout事件出现在标记中:
<td onmouseover="document.body.style.cursor='hand'" onmouseout="document.body.style.cursor='auto'" style="white-space:nowrap;">05-07-2012</td>
然而,手上没有明显的痕迹,似乎没有任何事情发生。我究竟做错了什么?使用IE 8
答案 0 :(得分:4)
首先:使用cursor: pointer
而非cursor: hand
(如果您希望它可以在多个浏览器中使用)
第二:不使用document.body
我会使用this
:
e.Row.Cells[2].Attributes.Add("onmouseover", "this.style.cursor='pointer'");
因为您希望光标在单元格上移动。