添加新记录按钮在剑道分层网格中不起作用

Posted

技术标签:

【中文标题】添加新记录按钮在剑道分层网格中不起作用【英文标题】:Add New Record button not working in kendo hierarchical grid 【发布时间】:2014-06-14 20:48:26 【问题描述】:

我正在尝试将新行添加到剑道分层网格的详细信息网格中,但“添加新记录”按钮不起作用。但是,如果我在详细网格定义中省略了过滤器选项,则该按钮可以工作,但是在关闭过滤器的情况下,我无法根据主行分隔子行。

我正在添加一张图片来描述问题。

这是我的分层网格代码:

 var element = $("#grid").kendoGrid(
            dataSource: 
                type: "JSON",
                transport: 
                    read: 
                        url: "/Home/Read",
                        type: "GET"
                    
                ,
                pageSize: 6

            ,
            height: 700,
            sortable: true,
            pageable: true,
            selectable: 'row',
            navigatable: true,
            editable: true,
            toolbar: ["create", "save", "cancel"],
            batch: true,
            detailInit: detailInit,
            dataBound: function () 
                this.expandRow(this.tbody.find("tr.k-master-row").first());
            ,
            columns: [
                
                    field: "EmployeeID",
                    title: "Employee ID",
                    width: "50px"
                ,
                
                    field: "EmployeeName",
                    title: "Employee Name",
                    width: "50px"
                

            ]
        );

        function detailInit(e) 
            $('<div id="childGrid"></div>').appendTo(e.detailCell).kendoGrid(
                dataSource: 
                    type: "JSON",
                    transport: 
                        read: 
                            url: "/Home/Details",
                            type: "POST"
                        
                    ,

                    pageSize: 5,
                    filter:  field: "EmployeeID", operator: "eq", value: e.data.EmployeeID 
                ,
                scrollable: false,
                dataBound: function () 
                    this.expandRow(this.tbody.find("tr.k-master-row").first());
                ,
                //sortable: true,
                pageable: true,
                selectable: 'row',
                editable: true,
                toolbar: ["create"],
                editable: true,
                batch: true,
                columns: [
                     field: "Department", title: "Department", width: "30px" ,
                     field: "Designation", title: "Designation", width: "30px" 

                ]
            );

请帮我整理一下。提前致谢。

【问题讨论】:

您需要在网格中定义 CRUD 操作 Create、Update、Destroy 才能使用网格上的 Add、Edit、Destroy 按钮.. 这是绝对要求吗?我不这么认为,因为我的父网格没有它就可以正常工作。当我创建新行时,该按钮也适用于我的子网格,但不适用于现有行。 我也看不到您的父网格的创建操作...您只是在阅读它... 标记为新的行是使用添加新记录按钮创建的,它适用于父子网格。但该按钮仅在具有现有行的子网格中不起作用。 不,我没有使用这个网格,而是使用了两个单独的网格,一个用于主数据,另一个用于子数据,我在主网格的行单击时动态加载子网格。 【参考方案1】:

我给出一个更简单的建议,如下所示从上一行获取您想要追加的 html

'var row = $("前一行选择器").html();'

然后将此行追加到表中

$("table").append(row);

如果有的话,然后更改 id

【讨论】:

以上是关于添加新记录按钮在剑道分层网格中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

从另一个视图重新绑定剑道网格到以前的搜索条件的正确方法是啥(后退按钮不起作用)

Kendo Grid 数据源刷新在 IE 中不起作用

Grid中的kendoui ClientTemplate在asp.net mvc 4中不起作用

切换按钮在引导程序4中不起作用,而角度7应用程序在导航栏中不起作用

Kendo UI 参考在 Razor 视图中不起作用

以编程方式添加按钮在 API 级别 23 中不起作用。我需要动态生成按钮。我该如何添加它们?