none
jgrid problemas al cargar button click por segunda vez RRS feed

  • Pregunta

  • hola:

    pues acá con un problema. estoy comenzando a utilizar el jqgrid, e logrado que al hacer click por primera vez se cargue los datos.

    pero quiero volver a consultar  por segunda vez, pues tengo algunos select y text que condicionan los datos a  cargar. pero ya en la segunda vez simplemente entra al evento (se ejecuta el alert )pero no ejecuta la nueva carga, y no me arroja ningun error.

    $('#btn1).click(function () {

      var condicion = $('#txtcondicion').val();

    alert();

      $("#grid").jqGrid({

    .

    .

    .

         async: true,
                        complete: function (jsondata, stat) {
                         
                            if (stat == "success")
                                jQuery("#grid")[0].addJSONData(JSON.parse(jsondata.responseText).d);
                            else
                                alert(JSON.parse(jsondata.responseText).Message);
                        }

    });

    });


    QUIERO MATAR ESTA DUDA ... ANTES QUE EL MUNDO DEJE DE EXISTIR..

    viernes, 21 de agosto de 2015 19:21

Todas las respuestas

  • hola

    por lo que veo en el click defines el jqgrid, pero no esta bien, la definicion deberias realizarla de forma fija y la carga la realizar mediente una llamada ajax de jquery

    como lo explico en el articulo

    jqGrid – Listar Orden Compra (Maestro-Detalle)

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 21 de agosto de 2015 20:05
  • Tienes razón leandro. ahora funciona, cada vez que le hago un click llama a los datos , pero

    el paginado me ha dejado de funcionar.

     

    el codigo del boton queda algo asi.

    $('#btn1).click(function () {

    var condicion = $('#txtcondicion').val();

      $.ajax({

            complete: function (jsondata, stat) {
                    if (stat == "success")
                        jQuery("#grid")[0].addJSONData(JSON.parse(jsondata.responseText).d);
                    else
                        alert(JSON.parse(jsondata.responseText).Message);
                }

    });

    al realizar eso,  el codigo del grid me queda asi

     $("#grid").jqGrid({

            datatype: function () {

            },

            jsonReader:

                {

                root: "Items",

                page: "CurrentPage",

                total: "PageCount",

                records: "RecordCount",

                repeatitems: true,

                cell: "Row",

                id: "ID"

            },

            beforeSelectRow: function (rowid, e) {

                jQuery("#grid").jqGrid('resetSelection');

                return (true);

            },

            colModel:

                [

                    { index: 'Codigo', name: 'Codigo', width: 45, align: 'Left', fixed: true, hidden: true, label: 'Codigo' },

                    { index: 'des', name: 'des', width: 50, align: 'Left', fixed: true, label: 'des' }

                ],

            pager: "#pager",

            loadtext: 'Cargando datos...',

            recordtext: "{0} - {1} de {2} elementos",

            emptyrecords: 'No hay resultados',

            pgtext: 'Pág: {0} de {1}',

            rowNum: "15",

            rowList: [15, 30, 45],

            viewrecords: true,

            multiselect: true,

            sortname: "Name",

            sortorder: "asc",

            height: "350",

            caption: "Lista ",

            autowidth: true

        }).navGrid("#pager", { edit: true, add: true, del: false, search: true

        });

    como corrigo el paginado?



    QUIERO MATAR ESTA DUDA ... ANTES QUE EL MUNDO DEJE DE EXISTIR..


    • Editado ApreSabi viernes, 21 de agosto de 2015 21:46
    viernes, 21 de agosto de 2015 21:44