ASP.NET Gridview - Как сделать так, чтобы все строки, кроме строки заголовка, имели эффект наведения? - PullRequest
0 голосов
/ 30 июня 2009

Я пытаюсь сделать так, чтобы все строки имели наведенный фон, кроме строки заголовка.

Любые советы?

У меня есть BoundFields, TemplateField и CommandField.

Ответы [ 3 ]

2 голосов
/ 30 июня 2009

Это может быть реализовано на стороне клиента с помощью 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>
2 голосов
/ 30 июня 2009

Вот решение с примером .

Ссылка Txt: http://www.codeproject.com/KB/webforms/MouseHoverUsingCSS.aspx

Посмотрите на скриншот.

alt text

1 голос
/ 30 июня 2009

Вот как это можно сделать

<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';");
        }
    }

Вы также можете заставить эффект наведения сохранять цвет для чередующихся рядов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...