Как перезагрузить jsGrid, используя событие из другого элемента управления (например, список выбора) - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь загрузить данные (преимущественно загружаемые при инициализации страницы) с помощью события select из другого элемента управления (select2).

Событие работает хорошо, но когда я вызываю функцию loadData jsGrid, выдается ошибкаL $ (...) jsGrid не является функцией.

объявления jsGrid:

$("#gridSolicitudes").jsGrid({
            width: "100%",
            height: "270px",

            inserting: false,
            editing: true,
            sorting: true,
            paging: true,
            autoload: true,

            controller: {
                loadData: function (filter) {
                    var searchCriteria = {
                        "NumeroSolicitud": "000"
                    };
                    return $.ajax({
                        url: "GetSolicitudes",
                        type: "POST",
                        contentType: "application/json; charset=utf-8",
                        datatype: "json",

                    });
                }
            },

            noDataContent: "No hay Solicitudes Pendientes",
            loadIndication: true,
            loadIndicationDelay: 500,
            loadMessage: "Por Favor, espere...",
            loadShading: true,
            deleteConfirm: "Está Seguro(a) de Eliminar el Registro ?",
            pageNextText: "Siguiente",
            pagePrevText: "Anterior",
            pageFirstText: "Primera",
            pageLastText: "Ultima",
            invalidMessage: "Los datos ingresados tienen un formato Inválido.",

            pageIndex: 1,
            pageSize: 5,
            pageButtonCount: 10,

            fields: [
                {
                    name: "OK", title: "OK", align: "center", itemTemplate: function (value, item) {
                        return $("<input>").attr("type", "checkbox")
                            .attr("checked", value || item.Checked)
                            .on("change", function () {
                                item.Checked = $(this).is(":checked");
                            });
                    }, width: 10
                },
                { name: "numeroSolicitud", title: "No. Solicitud", editing: false, align: "center", type: "text", width: 50 },
                { name: "nombreCliente", title: "Nombre del Cliente", editing: false, type: "text", width: 100 },
                { name: "tipoSolicitud", title: "Tipo/Solicitud", editing: false, align: "center", type: "text", width: 50 },
                { name: "activo", title: "Activo", type: "text", type: "select", items: activos, valueField: "idxActivo", textField: "descripcionActivo", width: 50 },
                { name: "nombreUsuario", title: "Usuario/Tecnico", type: "select", items: tecnicos, valueField: "codigoTecnico", textField: "nombreTecnico", width: 50 },
                { name: "fechaSolicitud", title: "Fecha de Ejecución", type: "date", width: 50 },

                {
                    title: "Generar Solicitud", width: 40, align: "center",
                    itemTemplate: function (_, item) {
                        return $("<button>").text("")
                            .on("click", function () {
                                alert(item.Name);
                            }).addClass("glyphicon glyphicon-saved");
                    }
                }
            ]
        });

Функция для перезагрузки данных

$(function () {
            $('.lista1').on('select2:select', function (e) {
                // Hay Seleccion en el ListBox, Se Actualiza el Grid //
                $("#gridSolicitudes").jsGrid("loadData");
            });
        });

Ожидаемый результат - загрузка сетки снова. Но получите ошибку, описанную в начале.

...