gridview asp.net наведите курсор мыши на TR и найдите строку, по которой щелкнул код сервера - PullRequest
3 голосов
/ 10 февраля 2009

Я довольно новичок во всем, что касается JavaScript. У меня есть сетка, которую я хочу, чтобы пользователь мог зависать над всей строкой (верю, это весь TR) и иметь возможность щелкать где угодно, и он мог бы выбрать эту строку. Мне нужен код на стороне сервера, чтобы узнать, какая строка была нажата.

Я действительно не знаю, с чего начать, и хотел бы получить несколько советов:

1) Лучший способ добавить возможность показывать, что пользователь наводит курсор на строку (изменение цвета фона или что-то)

2) Как подключить возможность щелкнуть в любом месте этой строки и запустить код на стороне сервера, чтобы узнать, какая строка была нажата.

Читал эту статью http://www.dotnetcurry.com/ShowArticle.aspx?ID=109 при запуске кода на стороне сервера со стороны клиента, но не знаю, как выяснить, из какой строки он пришел бы.

Спасибо

Джон Хокинс

Ответы [ 2 ]

3 голосов
/ 10 февраля 2009

Это должно сработать, просто сделайте вид сетки

protected void Gridview1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes["onmouseover"] = "this.style.background = '#CCCCCC';";
            e.Row.Attributes["onmouseout"] = "this.style.background = '#FFFFFF';";

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

Клик будет обнаружен на стороне сервера событием щелчка GridView.

0 голосов
/ 10 февраля 2009

Я всегда работаю с управлением повторителем, для наведения на повторитель я использую jQuery

Это идет между тегами

                $(document).ready(function() {
                    $(".tr-base").mouseover(function() {
                        $(this).toggleClass("trHover");
                    }).mouseout(function() {
                        $(this).removeClass("trHover");
                    });
                });

и это класс css.

.trHover{background-color: #D5E5ED;}

Если при щелчке по строке вы ничего не делаете на стороне сервера, вы можете снова использовать jQuery для выбранного эффекта.

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