2009-06-30 58 views
0

我試圖讓所有的行都有一個懸停的背景,除了標題行。ASP.NET Gridview - 如何創建所有行,但標題行有懸停效果?

任何提示?

我有BoundFields,TemplateField和CommandField。

+0

你是如何實現懸停效果客戶端來實現? – TheVillageIdiot 2009-06-30 07:18:19

+0

那麼,我現在還沒有真正實施它。 作爲一個臨時的解決方案,我已經得到了我的GridView的CSS樣式如下: .MyClass TR:懸停{ 背景色:#BBBBBB } – 2009-06-30 07:21:41

回答

1

這是怎麼可以做到

<asp:GridView... OnRowCreated="GvListingReport_RowCreated" /> 

並在代碼

 public void GvListingReport_RowCreated(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#DDDDDD';this.style.cursor='hand'"); 

      ListingRecord record = e.Row.DataItem as ListingRecord; 
      if (record != null) 
      { 
       e.Row.Attributes.Add("onclick", "javascript:MM_openBrWindow('" + url + "','dec','scrollbars=yes,resizable=yes')"); 
      } 

      e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF';"); 
     } 
    } 

您也可以懸停效果維持交替行的顏色。

2

這可以使用jQuery

<script type="text/javascript" src="path/to/jquery"></script> 
<script type="text/javascript"> 
     $(document).ready(function(){ 
      $("#<%= grid.ClientID%> tr").not("tr:first-child").hover(
      function(){$(this).addClass("OnMouseOverClass");},//mouse-over 
      function(){$(this).removeClass("OnMouseOutClass");});//mouse-out 
     }); 
</script>