jqGrid выделяют новую добавленную строку

Это возможное выделить новую добавленную строку в jqGrid. Эффект выделения - что-то вроде этого, Выделяют Effect

Так, когда новая строка будет добавлена, строка будет выделена, который ясно даст понять для пользователя, какая запись является новой.

Большое спасибо!

8
задан p udaykiran 13 February 2014 в 12:37
поделиться

3 ответа

Да, я использовал следующее, чтобы кратко выделить только что добавленную строку. Это производит приятный эффект, сообщая пользователю, что есть новые данные, и звучит так же, как то, что вы ищете:

jQuery("#" + rowId, "#myGrid").effect("highlight", {}, 2000);
15
ответ дан 5 December 2019 в 09:24
поделиться

Если я правильно понял, вы хотите выделить строку, добавленную в отношении редактирования формы ("+" на панели навигации). Редактирование формы поддерживает событие 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); (без красного цвета), вы увидите эффект выделения, но немного нечеткий, потому что добавленная строка будет выбрана по умолчанию.

Вы можете изменить код, чтобы использовать выделение только для одной выбранной сетки.

2
ответ дан 5 December 2019 в 09:24
поделиться

Какая информация у вас уже есть о ряде.

Есть ли у вас идентификатор ряда? Или значение поля, которое отмечено как ключ?

Создается ряд в таком виде. Обратите внимание, что 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>&nbsp;</TD></TR>

Тогда вы можете просто сделать.

$("#tblselector).find("#+KeyValue").addClass("ui-state-highlight")

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

Примечание: это событие не срабатывает, если параметр gridview установлен в true

Я не советую менять параметр gridview на false, если вы возвращаете много строк и столбцов, так как это сильно повлияет на производительность.

Я бы попросил разъяснить, как добавляется строка, но у меня не хватает баллов для комментариев.

1
ответ дан 5 December 2019 в 09:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: