2011-01-19 15 views
5

Tengo un conjunto de datos como el siguiente ejemplo y me gustaría cargarlo en la cuadrícula. Sin embargo, no estoy seguro de cómo los datos no tienen un nombre.datos de matriz de carga jqgrid

[[48803,"DSK1","","02200220","OPEN"],[48769,"APPR","","77733337","ENTERED"]] 

Respuesta

4

Lo que necesita es sólo tiene que utilizar el siguiente localReader

localReader: { 
    repeatitems: true, 
    cell: "", 
    id: 0 
} 

que hice para que the demo en vivo que muestra cómo funciona.

ACTUALIZADO: Cómo pude descubrir que la realidad no es tan buena como the documentation. El uso de localReader podría ayudarle a llenar la cuadrícula contener datos del parámetro data con la estructura personalizada, pero otras partes de jqGrid: clasificación local y búsqueda no funcionan correctamente con esta estructura del parámetro data. Lo interpreto como un error. Como una solución pragmática que recomendaría usted para convertir sus datos personalizados al conjunto de objetos nombrados como

[{id:48803,col2:"DSK1",col3:"",col4:"02200220",col5:"OPEN"}, 
{id:48769,col2:"APPR",col3:"",col4:"77733337",col5:"ENTERED"}] 

con los nombres corresponden a los nombres de columna en la colModel. Si va a usar el parámetro data en el formulario, todo funcionará perfectamente en jqGrid.

ACTUALIZADO 2: Mire la fuente de the fixed example y quedará claro lo que quiero decir. En su caso la conversión de los datos puede ser de la siguiente

var myNewData = []; 
for (var i=0,l=mydata.length; i<l; i++) { 
    var d = mydata[i]; 
    myNewData.push({id:d[0],col2:d[1],col3:d[2],col4:d[3],col5:d[4]}); 
} 

La solución no es tan elegante como con localReader, pero trabajar sin ningún tipo de restricciones.

+0

@CKeven: descubrí algunos problemas en la solución original y agregué mi respuesta con un ejemplo de demostración fija adicional. – Oleg

+0

muchas gracias. –

+0

@CKeven: ¡Bienvenido! – Oleg

2

Bueno, no estoy muy familiarizado con jqGrid, sino que simplemente podría ceder sus datos a una matriz asociativa y luego cargarla.

Ejemplo aquí:

http://jsfiddle.net/QWcrT/

Cuestiones relacionadas