He tenido un problema con jqGrid
Cuando yo uso:

$("#gridView").jqGrid({
    url:"grid.php",
    colModel:[
            { name: 'id', index:'id'},          
    ],
    datatype: "json",
    mtype:"post",

    height:350,
    rownumbers:true,
    treeGrid: true,
    treeGridModel : 'adjacency',
    ExpandColumn : 'id',
    ExpandColClick: true 
    ....

$("#gridView").jqGrid("getGridParam", "data") return array

$("#gridView").jqGrid({
    url:"grid.php",
    colModel:[
            { name: 'id', index:'id'},          
    ],
    datatype: "json",
    mtype:"post",
    pager:"#pager",
    rowNum:50,
    rowList:[10,50,100,500,1000],
    viewrecords:true,

    height:350,
    rownumbers:true,
    ....

$("#gridView").jqGrid("getGridParam", "data") return null ??

He leído el artículo aquí JQGrid getGridParam no devolver el ID de elemento de datos

Pero no puedo establecer loadonce:la verdadera causa de mi dinámico de datos por cada clic

InformationsquelleAutor LamLe | 2014-06-16

1 Comentario

  1. 1

    Usted no necesita utilizar loadonce: true en caso de treeGrid: true. jqGrid llena parámetros internos data y _index para treegrid automáticamente (ver la parte del código).

    Supongo que usted consigue null como el valor de data parámetro porque intenta tener acceso a data antes de los datos se cargan desde el servidor. Intente utilizar $(this).jqGrid("getGridParam", "data") dentro de loadComplete de devolución de llamada. La devolución de llamada se llamará después de llenado de data.

    • Gracias a Oleg, Pruebe a utilizar $(this).jqGrid(«getGridParam», «datos») en el interior de loadComplete de devolución de llamada —- pero necesito getGridParam en otra función (por ejemplo: obtener los datos de un formulario)
    • Me refiero a que una posible razón de null como el valor de data es que intenta conseguir data antes de los datos se rellenarán desde el servidor. El código que usted incluyó parece que incluyó $("#gridView").jqGrid("getGridParam", "data") directamente después de $("#gridView").jqGrid({...}); la que se crea la red. El relleno de la red de la url:"grid.php" funciona de forma asíncrona. Tan sólo después el data se llenan de que usted puede conseguir. Te recomiendo que trate de incluir $(this).jqGrid("getGridParam", "data") dentro de loadComplete de devolución de llamada para comprobar que data hará llena.
    • Lo siento, mi post no coincide con mi código real.— Después de la carga completa, me hizo un «editar(identificador de fila)» botón en cada fila. Cuando hice clic en el botón «editar», $(«#gridView»).get(«getGridParam», «datos») regresar [] como ya he mencionado. Yo estaba muy confundido porque mi grid ya había cargado los datos a mostrar en la pantalla.
    • es equivocado. Uno debe usar $("#gridView").jqGrid(...). Si lo entiendo correctamente, usted v encontrado ya el problema y se fija el código.

Dejar respuesta

Please enter your comment!
Please enter your name here