有没有办法在按Enter键时使用slickgrid将数据直接保存在数据库中?

时间:2019-05-22 15:33:31

标签: asp.net asp.net-mvc slickgrid

我正在尝试slickgrid插件!当我按下“保存”按钮时,我可以在数据库上添加,编辑和添加数据。但是,我试图做与excel相同的操作,在这里按Enter键,它会实时在数据库上更新。 我进入了按下键的位置,但是然后根本没有数据。它访问该函数,但是什么也没发生。有什么帮助吗?预先感谢

我已经尝试过使用slickgrid本身的grid.onAddNewRow.subscribe(function(e,args),但它只是不更新​​。如果我只插入一行,然后按“保存”,它将添加到数据库中!

            $(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键后,它会在数据库上实时更新,但是不会发生。

P.S。我使用var idData = jsonResult[key].id + 1,因此它可以在网格上递增。

1 个答案:

答案 0 :(得分:0)

这就是我寻求解决方案的地方

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'! 毫无疑问,得到了答案! 希望它可以帮助某人:)