Это возможное выделить новую добавленную строку в jqGrid. Эффект выделения - что-то вроде этого, Выделяют Effect
Так, когда новая строка будет добавлена, строка будет выделена, который ясно даст понять для пользователя, какая запись является новой.
Большое спасибо!
Да, я использовал следующее, чтобы кратко выделить только что добавленную строку. Это производит приятный эффект, сообщая пользователю, что есть новые данные, и звучит так же, как то, что вы ищете:
jQuery("#" + rowId, "#myGrid").effect("highlight", {}, 2000);
Если я правильно понял, вы хотите выделить строку, добавленную в отношении редактирования формы ("+" на панели навигации). Редактирование формы поддерживает событие afterComplete
, которое вы можете использовать для добавления некоторых функций постредактирования. Например, если вы хотите получить эффект выделения со всеми добавленными строками, вы можете использовать общие настройки для jQuery.jgrid.edit
:
jQuery.extend(jQuery.jgrid.edit, {
reloadAfterSubmit: false,
afterComplete : function (response, postdata, formid) {
if (postdata.oper === "add") { // highlight on "add" only
var row = jQuery ("#"+$.jgrid.jqID(postdata.id), jQuery(this.gbox));
row.effect("highlight", {color:"red"}, 3000);
}
}
});
Если вы будете использовать row.effect ( "highlight", {}, 3000);
(без красного цвета), вы увидите эффект выделения, но немного нечеткий, потому что добавленная строка будет выбрана по умолчанию.
Вы можете изменить код, чтобы использовать выделение только для одной выбранной сетки.
Какая информация у вас уже есть о ряде.
Есть ли у вас идентификатор ряда? Или значение поля, которое отмечено как ключ?
Создается ряд в таком виде. Обратите внимание, что id ряда совпадает со значением ключа.
<TR id=11 class="ui-widget-content jqgrow ui-row-ltr ui-state-highlight" role=row aria-selected=true><TD title=11 role=gridcell aria-describedby=list2_id>11</TD><TD title=2007-10-06 role=gridcell aria-describedby=list2_invdate>2007-10-06</TD><TD title="Client 1" role=gridcell aria-describedby=list2_name>Client 1</TD><TD style="TEXT-ALIGN: right" title=600.00 role=gridcell aria-describedby=list2_amount>600.00</TD><TD style="TEXT-ALIGN: right" title=120.00 role=gridcell aria-describedby=list2_tax>120.00</TD><TD style="TEXT-ALIGN: right" title=720.00 role=gridcell aria-describedby=list2_total>720.00</TD><TD title="" role=gridcell aria-describedby=list2_note> </TD></TR>
Тогда вы можете просто сделать.
$("#tblselector).find("#+KeyValue").addClass("ui-state-highlight")
Это действительно зависит от того, как добавляется ряд. Можно использовать событие afterInsertRow, но оно будет срабатывать для каждого ряда при добавлении его в сетку. Кроме того, есть следующее примечание к этому событию.
Примечание: это событие не срабатывает, если параметр gridview установлен в true
Я не советую менять параметр gridview на false, если вы возвращаете много строк и столбцов, так как это сильно повлияет на производительность.
Я бы попросил разъяснить, как добавляется строка, но у меня не хватает баллов для комментариев.