2010-05-31 14 views

Respuesta

15

Sí, he utilizado lo siguiente para resaltar brevemente una fila recién agregada. Produce un efecto agradable para que el usuario sepa que hay nuevos datos, y suena igual que lo que busca:

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

Gracias Justin - no vi esto en los documentos jqGrid - ¿debería agregarlo? –

+0

No es necesario, esto es en realidad parte de jQuery en sí mismo - http://docs.jquery.com/UI/Effects –

+0

¡Salud! Estaba buscando esto +1 – Damien

1

Qué información ya tiene sobre la fila.

¿Tiene la identificación de la fila? ¿O el valor del campo que está marcado como la clave?

Crea la fila como se define de esta manera. Tenga en cuenta que la identificación de la fila es la misma que el valor de la clave.

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

Entonces, podría simplemente hacer.

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

Realmente depende de cómo se agrega la fila. Puede usar el evento afterInsertRow pero esto se disparará para cada fila a medida que se agrega a la cuadrícula. Además hay esta nota sobre el evento.

Nota: este evento no se dispara si opción gridview se establece en true

No sugiero cambiar la opción gridview a false si va a devolver una gran cantidad de filas y o columnas como tendrá un gran impacto en el rendimiento.

Hubiera pedido una aclaración sobre cómo se agrega la fila, pero no tengo suficientes puntos para comentarios.

2

Si entiendo a corregir desea resaltar una fila añadida con respecto a la edición de forma (" + "en la barra de navegación). La edición de formularios admite un evento afterComplete, que puede usar para agregar algunas características de edición posterior. Por ejemplo, si usted quiere tener el efecto de relieve con todas las filas añaden, a continuación, puede utilizar la configuración general para 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); 
     } 
    } 
}); 

Si va a utilizar row.effect("highlight", {}, 3000); (sin color rojo), verá resaltar efecto, pero un poco no tan claro, porque se agregará una fila por defecto.

Puede causar que se modifique el código para usar resaltado solo para una cuadrícula seleccionada.

Cuestiones relacionadas