2010-02-11 8 views
0

Je modifie les styles des lignes normales, alternées et sélectionnées via des feuilles de style. De plus, j'ai implémenté onmouseover, onmouseoout et class avec gv_Alternativen_RowDataBound.Gridview: Garder le style de SelectedRow

Mais quand je fais un survol de la souris dans la ligne sélectionnée, le mauvais onmouseout est placé là:

Protected Sub gv_Alternativen_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_Alternativen.RowDataBound 
    If e.Row.RowType = DataControlRowType.DataRow Then 
     Select Case e.Row.RowState 
      Case Is <> DataControlRowState.Selected 
       'odd even 
       If e.Row.RowState = DataControlRowState.Normal And e.Row.RowState <> DataControlRowState.Selected Then 
        e.Row.Attributes.Clear() 
        e.Row.Attributes.Add("onmouseout", "this.className='PopupAngeboteRow'") 
        e.Row.Attributes.Add("onmouseover", "this.className='PopupAngeboteRowHover'") 
        e.Row.Attributes.Add("class", "PopupAngeboteRow") 
       ElseIf e.Row.RowState = DataControlRowState.Alternate And e.Row.RowState <> DataControlRowState.Selected Then 
        e.Row.Attributes.Clear() 
        e.Row.Attributes.Add("onmouseout", "this.className='PopupAngeboteAlternatingRow'") 
        e.Row.Attributes.Add("onmouseover", "this.className='PopupAngeboteRowHover'") 
        e.Row.Attributes.Add("class", "PopupAngeboteAlternatingRow") 
       End If 
      Case Is = DataControlRowState.Selected 
       e.Row.Attributes.Clear() 
       e.Row.Attributes.Add("onmouseover", "this.className='PopupAngeboteRowSelected'") 
       e.Row.Attributes.Add("onmouseout", "this.className='PopupAngeboteRowSelected'") 
       e.Row.Attributes.Add("class", "PopupAngeboteRowSelected") 
     End Select 
    End If 
End Sub 

Toutes les idées ???

thx beaucoup à l'avance, salutations ...

Répondre

0
protected void gvHolds_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     if (e.Row.RowType == DataControlRowType.DataRow) 
     { 
      if ((e.Row.RowIndex % 2) == 0) 
      { 
       if (e.Row.RowIndex == gvHolds.SelectedIndex) 
       { 
        e.Row.Attributes["onmouseout"] = "this.className = 'SelectedRow';"; 
        e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';"; 
       } 
       else 
       { 
        e.Row.Attributes["onmouseout"] = "this.className = 'oddRow';"; 
        e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';"; 
       } 
      } 
      else 
      { 
       if (e.Row.RowIndex == gvHolds.SelectedIndex) 
       { 
        e.Row.Attributes["onmouseout"] = "this.className = 'SelectedRow';"; 
        e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';"; 
       } 
       else 
       { 
        e.Row.Attributes["onmouseout"] = "this.className = 'evenRow';"; 
        e.Row.Attributes["onmouseover"] = "this.className = 'MouseOverRow';"; 
       } 
      } 

      e.Row.Attributes["onclick"] = ClientScript.GetPostBackEventReference(this.gvHolds, "Select$" + e.Row.RowIndex); 
     } 
    } 
+0

Pouvez-vous expliquer pourquoi cela fonctionne au lieu de simplement donner la réponse. – ArtB

Questions connexes