2010-05-31 34 views

Trả lời

15

Có, tôi đã sử dụng các mục sau để làm nổi bật nhanh hàng mới được thêm vào. Nó tạo ra một ảnh hưởng tốt đẹp để cho người dùng biết có dữ liệu mới, và có vẻ giống như những gì bạn đang tìm kiếm:

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

Cảm ơn Justin - không thấy điều này trong tài liệu jqGrid - tôi có nên thêm tài liệu này không? –

+0

Không cần, đây thực sự là một phần của jQuery - http://docs.jquery.com/UI/Effects –

+0

Chúc mừng! Đã tìm kiếm +1 này – Damien

1

Bạn đã có thông tin gì về hàng.

Bạn có id hàng không? Hoặc giá trị của trường được đánh dấu là khóa?

Nó tạo hàng như được định nghĩa như thế này. Lưu ý rằng id của hàng giống với giá trị khóa.

<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> 

Vì vậy, sau đó bạn có thể thực hiện.

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

Nó thực sự phụ thuộc vào cách hàng được thêm vào. Bạn có thể sử dụng sự kiện afterInsertRow nhưng điều này sẽ kích hoạt cho mỗi hàng khi nó được thêm vào lưới. Ngoài ra có ghi chú này về sự kiện này.

Lưu ý: sự kiện này không cháy nếu tùy chọn GridView được thiết lập là true

Tôi không đề nghị thay đổi tùy chọn GridView false nếu bạn đang trở về rất nhiều hàng và hoặc cột vì nó sẽ có tác động hiệu suất lớn.

Tôi đã yêu cầu làm rõ cách hàng được thêm nhưng không có đủ điểm cho nhận xét.

2

Nếu tôi hiểu bạn khắc phục mà bạn muốn làm nổi bật một hàng bổ sung liên quan đến chỉnh sửa hình thức (với" + "trong thanh điều hướng). Chỉnh sửa biểu mẫu hỗ trợ sự kiện afterComplete, mà bạn có thể sử dụng để thêm một số tính năng sau khi chỉnh sửa. Ví dụ, nếu bạn muốn có tác dụng nổi bật với tất cả các hàng bổ sung, sau đó bạn có thể sử dụng thiết lập chung cho 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); 
     } 
    } 
}); 

Nếu bạn sẽ sử dụng row.effect("highlight", {}, 3000); (không có màu đỏ), bạn sẽ thấy nổi bật có hiệu lực, nhưng một chút không rõ ràng, bởi vì hàng được thêm sẽ được chọn theo mặc định.

Bạn có thể thay đổi mã để chỉ sử dụng đánh dấu cho một mạng lưới đã chọn.

Các vấn đề liên quan