创建自定义编辑器窗口kendojs网格

create custom editor window kendo js grid

本文关键字:kendojs 网格 窗口 编辑器 自定义 创建      更新时间:2023-09-26

我有一个网格,我想在编辑时打开一个kendoWindow,而不是标准的弹出窗口。

         editable: "popup",
            edit: function (e) {
                e.preventDefault();
                console.log("EDIT");
                $.ajax({
                    url: '@Url.Action("EditProductView", "Product")',
                    type: 'POST',
                    dataType: 'html',
                    cache: false,
                    success: function (data) {
                        console.log(data);
                        $("edit-product-window").kendoWindow({
                            content: data,
                            title: "Product"
                        });
                    },
                    error: function (xhr, error) {
                    },
                });
            },

我像上面的代码一样做,但当可编辑为"弹出"时,它会为我的自定义弹出窗口获取html,但它也会打开默认的弹出窗口。如果我将可编辑更改为true,则不会触发编辑事件。如何触发编辑事件并防止默认编辑事件发生?

即使添加了e.preventDefault(),也不能使用编辑功能的原因是它是在创建弹出窗口后调用的。

这就是让我得出这个结论的问题。

为了方便地证明这一点,您可以在e.preventDefault()之前使用debugger;。在那里,你会看到弹出窗口已经在那里,然后你可以做任何事情。

解决方法,这里是一个剑道道

但如果你真的必须这样做,我建议的解决方法是使用行模板并在其上绑定单击/双击事件

这样尝试可编辑:
{mode:"popup",template:"您的模板"}