Есть ли способ при нажатии клавиши Enter сохранить данные непосредственно в базе данных с помощью slickgrid? - PullRequest
0 голосов
/ 22 мая 2019

Я пробую плагин slickgrid!Я могу красный, редактировать и добавлять данные в БД, когда я нажимаю кнопку «Сохранить».Тем не менее, я пытался сделать то же самое, что и Excel, где вы нажимаете клавишу Enter, и она обновляется в БД в режиме реального времени.Я попадаю в то место, где нажата клавиша, но тогда вообще нет данных.Это доступ к функции, но тогда ничего не происходит.Любая помощь ?Заранее спасибо

Я пытался с grid.onAddNewRow.subscribe (функция (e, args) от самого slickgrid, но он просто не обновляется. Если я просто вставляю одну новую строку и нажимаю "сохранить",это добавит на БД!

            $(document).keydown(function () {
                var keyPressed = event.keyCode || event.which;
                if (keyPressed == 13) {
                    console.log("im in");
                    grid.onAddNewRow.subscribe(function (e, args) {
                        var idData = jsonResult[key].id + 1;
                        var item = { "id": idData, "t_nome": "", "t_prof": "", "t_data": "", "t_morada": "", "t_percCompleto": "" };
                        $.extend(item, args.item);
                        dataView.addItem(item);
                    });

                } else {
                    return true;
                }
            });

Я ожидал, что после того, как пользователь нажал клавишу Enter, он обновился в реальном времени на БД, но этого не произошло.

PSЯ использую var idData = jsonResult[key].id + 1, поэтому он может увеличиваться в сетке.

1 Ответ

0 голосов
/ 23 мая 2019

Это то, что я получил за решение

grid.onAddNewRow.subscribe(function (e, args) {
            var idData = jsonResult[key].id + 1;
            var item = { "id": idData, "t_nome": "", "t_prof": "", "t_data": "", "t_morada": "", "t_percCompleto": "" };
            $.extend(item, args.item);
            dataView.addItem(item);
            grid.onKeyDown.subscribe(function (e) {
                var keyPressed = event.keyCode || event.which;
                if (keyPressed == 13) {
                    alert(item);
                    var myJSON = JSON.stringify(item);
                    $.post("/SlickTests/editGrid", $("input[name=mydata]").val(myJSON))
                }
            });
        });`

Но теперь оно дает мне ошибку десериализации (не может десериализовать текущий объект JSON в тип 'System.Collections.Generic.List'! NEverless, получилответ! Надеюсь, кому-то это поможет :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...