2017-01-18 46 views
0

我有一个DataGrid,我想改变整个行的背景颜色,当我鼠标悬停。如何更改DataGrid行的背景颜色?

我试过使用e.Item.Attributes["onmouseover"] = "this.style.color='red'";但这只会改变行中文本的颜色。我想突出显示整行。 如何设置背景颜色来更改代码背后的DataGrid中的行?

回答

0
Private Sub DataGridID_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGridID.ItemDataBound 

    If e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem Then 

     ' Do the mouseover and mouseout javascript 
     Dim oBGcolour As String 

     If e.Item.ItemType = ListItemType.Item Then 
      oBGcolour = Right(Hex(DataGridID.ItemStyle.BackColor.ToArgb()), 6) 
     ElseIf e.Item.ItemType = ListItemType.AlternatingItem Then 
      oBGcolour = Right(Hex(DataGridID.AlternatingItemStyle.BackColor.ToArgb()), 6) 
     End If 

     e.Item.Attributes.Add("onmouseover", "this.style.background='#cdcdcd';") 
     e.Item.Attributes.Add("onmouseout", "this.style.background='#" & oBGcolour & "';") 

    End If 

End Sub