Kendo 树列表 Child 节点问题

Kendo treelist Child node issue

每当我从 child 节点取消更新过程时,child 节点只是与根节点合并,我没有在控制台中发现错误或者我找不到任何东西 suspicious.but 重装后一切正常

$(document).ready(function () {


         var windowTemplate = kendo.template($("#windowTemplate").html());
                 var dataSource = new kendo.data.TreeListDataSource({

                    transport: {
                         read: {
                             url: "officeprofiletree",
                             type: 'POST',
                             dataType: "json"
                         },
                         update: {
                            url: "officeprofilenametree_update",
                            type: 'POST',
                            contentType :'application/json',
                             dataType: "json"

                         },
                         destroy: {
                             url: "officeprofilenametree_destroy",
                             type: 'POST',
                            contentType :'application/json',
                             dataType: "json"
                         }, 

                         parameterMap: function(options, operation) {

                             if (operation !== "read" && options.models)
                            { 
                            return JSON.stringify(options.models);
                            }  
                         }
                     },
                     batch: true,
                     sort: { field: "name", dir: "asc" },
                     schema: {
                         model: {
                             id: "officeProfileNMId",
                             parentId: "parentId",

                             fields: {
                                 officeProfileNMId: { type:"number" },
                                 parentId:{nullable:true,type:"number"},
                                 mobile:{ type:"string"},
                                  address:{type:"string"},
                                 phone: {type:"string"},

                             },
                         }
                     }

                 });
                 var window = $("#window").kendoWindow({
                     visible:false,
                    title: "Are you sure you want to delete this record?",
                     width: "450px",
                     height: "60px",
                 }).data("kendoWindow");


           var treelist = $("#treelist").kendoTreeList({


              dataSource: dataSource,
                 pageable: true,
                 dataBound: function (){
                     var tree = this;
                     var trs = this.tbody.find('tr').each(function(){
                       var item = tree.dataItem($(this));
                       if( item.parentId == null) {
                         $(this).find('.k-button,.k-button').hide();
                       }

                     });               
                   },

                     columns: [
                         { field: "name", title: "Name"},
                         { field: "mobile", title:"Mobile", format: "{0:c}", hidden: true },
                         { field: "address", title:"Address",hidden: true },
                         { field: "phone",title:"Phone" ,hidden: true },

                         { command: [
                             {name: "edit"},

                             {name: "Delete",  
                                 click: function(e){  
                                     e.preventDefault();
                                     var tr = $(e.target).closest("tr"); 
                                     var data = this.dataItem(tr); 
                                     window.content(windowTemplate(data)); 
                                     window.center().open();

                                     $("#yesButton").click(function(){
                                        treelist.dataSource.remove(data);
                                        treelist.dataSource.sync(); 
                                        window.close();
                                        reloading();
                                         })

                                     $("#noButton").click(function(){
                                         window.close();
                                     })
                                 }                              
                             }
                             ]}

                      ] ,
                      editable: {
                          mode: "popup",

                        },




                      }).data("kendoTreeList");
        });

顺便说一句,更新和删除工作正常,这是fiddle https://jsfiddle.net/me09jLy7/2/

更新:

每当我创建一个 child 到 ranikannur 给我 3 children 在每个根 ranikannur 中具有相同的名称,在我的数据库中只有一个 child 由 ranikannur 编辑,但树列表在每个 parent 节点中显示为 3 children,children 计数 3 来自总共 ranikannurparent 个节点(这里树有 3 ranikannur parent 个节点) 我guess.how这是拿到3children吗?

你试试吧...

$(document).ready(function () {
         var windowTemplate = kendo.template($("#windowTemplate").html());
                 var dataSource = new kendo.data.TreeListDataSource({

                    transport: {
                         read: {
                             url: "officeprofiletree",
                             type: 'POST',
                             dataType: "json"
                         },
                         update: {
                            url: "officeprofilenametree_update",
                            type: 'POST',
                            contentType :'application/json',
                             dataType: "json"

                         },
                         destroy: {
                             url: "officeprofilenametree_destroy",
                             type: 'POST',
                            contentType :'application/json',
                             dataType: "json"
                         }, 

                         parameterMap: function(options, operation) {

                             if (operation !== "read" && options.models)
                            { 
                            return JSON.stringify(options.models);
                            }  
                         }
                     },
                     batch: true,
                     sort: { field: "name", dir: "asc" },
                     schema: {
                         model: {
                             id: "officeProfileNMId",
                             parentId: "parentId",

                             fields: {
                                 officeProfileNMId: { type:"number" },
                                 parentId:{nullable:true,type:"number"},
                                 mobile:{ type:"string"},
                                  address:{type:"string"},
                                 phone: {type:"string"},

                             },
                         }
                     }

                 });
                 var window = $("#window").kendoWindow({
                     visible:false,
                    title: "Are you sure you want to delete this record?",
                     width: "450px",
                     height: "60px",
                 }).data("kendoWindow");


           var treelist = $("#treelist").kendoTreeList({


              dataSource: dataSource,
                 pageable: true,
                 dataBound: function (){
                     var tree = this;
                     var trs = this.tbody.find('tr').each(function(){
                       var item = tree.dataItem($(this));
                       if( item.parentId == null) {
                         $(this).find('.k-button,.k-button').hide();
                       }

                     });               
                   },

                     columns: [
                         { field: "name", title: "Name"},
                         { field: "mobile", title:"Mobile", format: "{0:c}", hidden: true },
                         { field: "address", title:"Address",hidden: true },
                         { field: "phone",title:"Phone" ,hidden: true },

                         { command: [
                             {name: "edit"},

                             {name: "Delete",  
                                 click: function(e){  
                                     e.preventDefault();
                                     var tr = $(e.target).closest("tr"); 
                                     var data = this.dataItem(tr); 
                                     window.content(windowTemplate(data)); 
                                     window.center().open();

                                     $("#yesButton").click(function(){
                                        treelist.dataSource.remove(data);
                                        treelist.dataSource.sync(); 
                                        window.close();
                                        reloading();
                                         })

                                     $("#noButton").click(function(){
                                         window.close();
                                     })
                                 }                              
                             }
                             ]}

                      ] ,
                      editable: {
                          mode: "popup",

                        },




                      }).data("kendoTreeList");
        });