2010-09-06 21 views
7

Algunas búsquedas rápidas solo aparecen agregando una nueva fila a jQGrid a través de una ventana emergente modal con los campos editables.jQGrid, ¿cómo agregar una nueva fila dentro de la cuadrícula, no a través de un modal?

¿Alguien me puede indicar una muestra o mostrarme algún código que le permita agregar una nueva fila vacía en la cuadrícula, en la parte superior?

tengo una columna de acción en el extremo derecho de la cuadrícula en la que onRowSelect() tengo un botón de guardar aparece y que puede hacer que el botón de hacer la parada de actualizar la ventana creo ..

no puedo Descubre cómo hacer clic en el botón "Agregar fila" y agrega una fila vacía dentro de la cuadrícula en la parte superior.

Una opción que puedo ver es darle un estilo a la fila actual agregar modal para que parezca una fila horizontal y colocarla para que parezca una fila en la parte superior de la cuadrícula.

jqGrid Documentación: http://www.trirand.com/jqgridwiki/

Respuesta

10

Si utiliza el tipo de datos: 'local', puede utilizar addRowData método para insertar la fila con el parámetro de posición ajustada a 'first'. Vea algunos ejemplos bajo http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#array_data.

+0

Estoy usando datatype json por el momento. ¿Hay alguna manera de que pueda usar addRowData sin cambiar a local? –

+0

@Moin Zaman: No estoy seguro, entiendo lo que quieres hacer. La única suposición es que utiliza el modo de edición en línea y no desea utilizar la edición de formularios ni los datos nuevos. Desea agregar una fila vacía y permitir que el usuario la edite en el modo de edición en línea. ¿Es lo que quieres? De lo contrario, explique con más detalle por qué desea agregar datos en la cuadrícula que muestran los datos del servidor. – Oleg

+0

Estoy poblando la grilla de una base de datos, extrayendo los datos como json. También pienso guardar nuevas filas o filas editadas de nuevo en la base de datos. Quiero agregar una fila vacía cuando el usuario desea crear una nueva fila, el usuario puede completar los valores y presionar guardar en la columna de acción para guardar esta fila nuevamente en la base de datos.Luego puedo actualizar la grilla y recuperar los datos json nuevamente, y debe contener la fila recién agregada. –

7

Esta respuesta es cortesía de Oleg en mi pregunta anterior here:.

uso $ ("# rejilla") addRowData (rowid, los datos, la posición, srcrowid);

inserta una nueva fila con id = rowid que contiene los datos en los datos (un objeto ) en la posición especificada (primero en la tabla, la última en la tabla o antes o después de la fila especificada en srcrowid). La sintaxis del objeto de datos es: {nombre1: valor1, nombre2: valor2 ...} donde nombre es el nombre de la columna como se describe en el colModel y el valor es el valor. Este método puede insertar varias filas en una vez. En este caso, el parámetro de datos debe ser una matriz definida como [{name1: value1, name2: value2 ...}, {name1: value1, name2: value2 ...}] y la primera opción rowid debe contener el nombre de los datos objeto que debería actuar como id de la fila. No es necesario que el nombre del rowid en este caso debe ser una parte de colModel.

P.S. Echa un vistazo a mi perfil para ver una serie de preguntas y respuestas de jqgrid.

Cuestiones relacionadas