当前位置: 首页 > 知识库问答 >
问题:

无法编辑剑道网格

弓磊
2023-03-14

我无法编辑剑道网格内联和弹出两者。单击“保存”按钮时,我的操作方法无法获取当前编辑单元格的值。

             <div class="home-index">
            <div class="location-grid" data-bind="source: dataSource"></div>

            <script id="rowTemplate" type="text/x-kendo-tmpl">
                        <tr>
                            <td class="boldColumn">
                               #: data.FirstName #
                            </td>
                            <td onclick='showValue("#: data.LastName #")'>
                                #: data.LastName #
                            </td>
                            <td>
                               #: data.Latitude #
                            </td>
                            <td>
                               #: data.Longitude #
                            </td>
                            <td>
                               #: data.IsActive #
                            </td>
                       </tr>
            </script>


            <script>
                var LocationInfo = function () {
                    var vm;
                    var init = function () {
                        vm = new kendo.data.ObservableObject({
                            dataSource: new kendo.data.DataSource({
                                transport: {
                                    read: "/Home/GetLocationInfos",
                                    update: {
                                        url: "/Home/Update",
                                        dataType: "json",
                                        type: "POST",
                                    },
                                    parameterMap: function (options, operation) {
                                        if (operation !== "read" && options.models) {
                                            return { models: kendo.stringify(vm.get("Selected")) };
                                        }
                                    }
                                },
                                schema: {
                                    model: {
                                        fields: {
                                            id: "ID",
                                            fields: {
                                                ID: { editable: false },
                                                FirstName: { validation: { required: true } },
                                                LastName: { validation: { required: true } },
                                                Latitude: { type: "number", validation: { required: true, min: 1 } },
                                                Longitude: { type: "number", validation: { required: true, min: 1 } },
                                                IsActive: { type: "boolean" }
                                            }
                                        }
                                    }
                                }
                            })
                        });

                        $(function () {
                            $(".location-grid").kendoGrid({
                                sortable: true,
                                selectable: true,
                                editable: "inline",
                                batch: true,
                                //rowTemplate: kendo.template($("#rowTemplate").html()),
                                //toolbar: ["create"],
                                columns: [
                                    {
                                        title: "First Name",
                                        field: "FirstName"
                                    },
                                    {
                                        title: "Last Name",
                                        field: "LastName"
                                    },
                                    {
                                        title: "Latitude",
                                        field: "Latitude",
                                    },
                                    {
                                        title: "Longitude",
                                        field: "Longitude",
                                    },
                                    {
                                        title: "IsActive",
                                        field: "IsActive",
                                    },
                                    {
                                        command: ["edit"],
                                    }

                                ]
                            });
                            kendo.bind($(".home-index"), vm);
                        });
                    };
                    init();
                    return {
                        viewModel: vm
                    };
                }();
            </script>
        </div>

        <style>
            .boldColumn {
                font-weight: bold;
            }
        </style>

控制器代码:

     public ActionResult GetLocationInfos()
    {
        using (var db = new PersonEntities())
        {
            var info = db.LocationInfoes.Take(10).ToList();
            return Json(info, JsonRequestBehavior.AllowGet);
        }

    }

    public ActionResult GetLocationInfo(long ID)
    {
        using (var db = new PersonEntities())
        {
            var info = db.LocationInfoes.FirstOrDefault(z => z.ID == ID);
            return Json(info, JsonRequestBehavior.AllowGet);
        }

    }

    public JsonResult Update(LocationInfo models)
    {
        using (var db = new PersonEntities())
        {
            db.LocationInfoes.AddOrUpdate(models);
            //db.SaveChanges();
        }
        return Json(new
        {
            success = true,
            data = models
        });
    }

在控制器中,我只得到空值。请帮帮我,我想使用剑道mvvm教学。

共有1个答案

司马振国
2023-03-14

这是一个愚蠢的错误,若我使用行模板,那个么我也应该创建编辑模板。

我创建了编辑模板,问题解决了。

 类似资料:
  • 嗨,我正在尝试做剑道网格,但它不工作,显示网格,但没有显示数据。我不知道怎么了。我不知道parametersMap是怎么工作的。请帮帮我。 控制器 这是剧本 Json数据返回:http://localhost:53232/Home/GetGeo?id=5

  • 我在剑道格子里有一个剑道组合框。我使用MVVM绑定将组合框绑定到列表中的项目。问题是,当我从combobox下拉列表中选择一个项目时,一切正常,但当我手动在combobox中键入某个内容时,该值不会保存。。。以下是我的网格和组合框代码: 网格: 数据来源: 组合框:

  • 我想在我的剑道ui网格中进行内联编辑。数据绑定似乎工作正常,但当我在编辑某些内容后单击“更新”按钮时,范围会得到更新,但编辑对话框不会消失。如果单击另一个编辑按钮,它将进入失效状态。毕竟,只有当我至少提供一个伪函数作为k-save时,它才会更新作用域。出于某种原因,单击“取消”按钮确实会更新范围。所以“取消”按钮实现了我对“更新”按钮的期望。 您可能会看到,我想更新客户端的本地范围,而不是向任何服

  • 我在剑道网格上使用事件来显示几个隐藏的列。然后,我将在事件中再次隐藏它们。 我的问题是,似乎没有取消编辑模式的事件,所以如果用户单击取消,列会被搞砸。 是否有未记录的事件需要取消,还是需要找到解决方案?

  • 我对剑道网格自定义编辑器有问题。当我点击剑道网格上的编辑按钮时,我想使用dateTimePicker作为我的编辑器。但当我尝试使用dateTimePicker自定义网格时,总会出现错误: 以下是简单的源代码: 或者你可以在这个链接上查看 我已经在许多不同的来源上检查了它,例如: 参考文献1 参考文献2

  • 剑道内嵌单元格编辑不支持日期时间格式。我需要"dd/MMM/yyyy"数据格式,但是剑道网格显示"提交的日期必须是日期"错误。你能告诉我该怎么做吗