Выделите строки с помощью складной вложенной сетки
Привет.
Я создаю веб-страницу со складывающейся сеткой, поэтому мой gridview вложен и может быть развернут/свернут при нажатии на знак плюс.
Теперь мне нужно выделить строку в строке только со знаком плюс (не включая расширенный div)
Я использовал событие onclick на стороне клиента для строки gridview, которой я присваиваю значение onclick на datarowbound.
var prevRowIndex; function ChangeRowColor(row, rowIndex) { var parent = document.getElementById(row); var currentRowIndex = parseInt(rowIndex) + 1; if (prevRowIndex == currentRowIndex) { return; } else if (prevRowIndex != null) { parent.rows[prevRowIndex].style.backgroundColor = "#FFFFFF"; } parent.rows[currentRowIndex].style.backgroundColor = "#FFFFD6"; prevRowIndex = currentRowIndex;
А вот и гребец
protected void gvStudent_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("onclick", string.Format("ChangeRowColor('{0}','{1}');", e.Row.ClientID, e.Row.RowIndex)); }
Моя проблема заключается в том, что когда индекс строки 0 расширяется и я нажимаю на индекс строки 1, расширенный div индекса строки 0 подсвечивается, я думаю, потому что он читается как новая строка и становится индексом строки 1
Что я уже пробовал:
Эту идею я адаптировал по ссылке ниже
Выделить GridView В Строке Нажать И Удерживать Выбранную Строку На Обратной Передачи[^]