JQuery - проверка строки таблицы пейджера gridview
Я реализовал сетку с привязкой к источнику данных на своей странице aspx и добавил следующий jquery для реализации нескольких изменений, когда пользователь наводит курсор на строку. Проблема в том, что jquery также вступает в игру, когда вы наводите курсор мыши на нижнюю строку пейджера, например, чтобы изменить страницу сетки и т. Д. У меня была работа с этим, кроме случая, когда на экране нет строки пейджера. Я также пытался найти класс 'gridheader', подсчитывать строки и т. Д., Но ни один из них, похоже, не справился с работой.
function PageLoaddCallback(sender, args) {
$("*[id$='gridResults'] tr:not(tr:last-child)").unbind();
$("*[id$='gridResults'] tr:not(tr:last-child)").filter(function () {
return $('td', this).length && !$('table', this).length
}).hover(
function () {
var totalRows = $("#<%=gridResults.ClientID %> tr").length;
m_bgcolour = $(this).css("background-color");
var _img = $(this).find("*[id$='hdnField']").val();
var _name = $(this).find("*[id$='hdnName']").val();
if ((_img == null) || (_img == "")) {
var src = "../../Images/Resources/NoSignature.jpg";
_name = "Unknown";
}
else {
var src = "GetImage.axd?id=" + _img;
}
$("#largeImg").attr("src", src);
$(this).css({ background: "#c4ffc4" });
$("#lbl").html(_name);
},
function () {
var src = "../../Images/Resources/sample.jpg";
$("#largeImg").attr("src", src);
$(this).css({ background: m_bgcolour });
$("#lbl").html("Sample");
}
);
}
});
Любая помощь будет оценена!
Спасибо
2 ответа
Вы можете поместить специальный CssClass в строки пейджера следующим образом:
<asp:GridView ...>
<PagerStyle cssClass="pagerRow" />
</asp:GridView>
Затем вы сможете использовать это для фильтрации строк.
Спасибо за помощь.. не смог заставить ваше предложение работать, поэтому добавил класс css в строки данных и изменил селектор, чтобы найти класс:
<asp:GridView ID="gridResults" runat="server" AutoGenerateColumns="false" RowStyle-CssClass="dataRow">
$("*[id$='gridResults']").find(".dataRow")