2010-05-31 107 views

回答

15

是的,我已經使用以下來簡要地突出顯示一個新添加的行。它產生了很好的效果,讓用戶知道有新的數據,並且聽起來就像你在找什麼:

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

謝謝賈斯汀 - 沒有在jqGrid文檔中看到這個 - 我應該添加它嗎? – 2010-09-28 19:45:08

+0

不需要,這實際上是jQuery本身的一部分 - http://docs.jquery.com/UI/Effects – 2010-09-28 21:02:43

+0

乾杯!正在尋找這個+1 – Damien 2011-06-08 12:10:46

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,如果你正在返回很多行和或列,因爲它這個事件不火將會有很大的性能影響。

我會要求澄清如何添加行,但沒有足夠的評論點。

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);(無紅色),你會看到突出的效果,但有點不太清楚,因爲添加的行將被默認選中。

您可以修改代碼以僅爲選定的一個網格使用突出顯示。