Gridview: сохранить стиль SelectedRow - PullRequest
0 голосов
/ 11 февраля 2010

Я меняю стили строк как нормальные, чередующиеся и выбираемые с помощью таблиц стилей. Кроме того, я реализовал onmouseover, onmouseoout и класс с помощью gv_Alternativen_RowDataBound.

Но когда я делаю указатель мыши в выбранном ряду, туда помещается неправильный onmouseout:

    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

Есть идеи ???

спасибо заранее, привет ...

1 Ответ

0 голосов
/ 23 июля 2010
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);
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...