jqGrid突出显示新添加的行

时间:2010-05-31 23:16:10

标签: javascript jquery jqgrid highlight

是否可以在jqGrid中突出显示新添加的行。高亮效果类似于Highlight Effect

因此,当添加新行时,该行将突出显示,这将使用户清楚哪个记录是新记录。

非常感谢!

3 个答案:

答案 0 :(得分:15)

是的,我使用以下内容简要地突出显示了新添加的行。它产生了一个很好的效果,让用户知道有新的数据,听起来就像你正在寻找的那样:

jQuery("#" + rowId, "#myGrid").effect("highlight", {}, 2000);

答案 1 :(得分:2)

如果我理解你是正确的,你想要突出显示一个关于表单编辑的行(导航栏中的“+”)。表单编辑支持事件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 :(得分:1)

您对该行有什么信息。

你有行ID吗?或者标记为键的字段的值?

它创建如此定义的行。请注意,行的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,因为它会对性能产生很大影响。

我会要求澄清如何添加行但没有足够的评论点。

相关问题