2017-08-17 118 views
1

无论何时我从子节点取消更新过程,子节点只是与根节点合并,我没有在控制台中发现错误,或者我找不到任何可疑的东西。但重新加载后,一切都变得正常Kendo treelist子节点问题

$(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"); 
     }); 

于更新和删除的方式工作得很好,这是小提琴 https://jsfiddle.net/me09jLy7/2/

更新用:

每当我创建了一个孩子ranikannur给我3 childr en在每个根ranikannur相同的名称,在我的数据库中只有一个孩子被ranikannur父亲父亲节点显示为3个孩子,孩子数3从总共ranikannur父节点(这里树有3 ranikannur父节点) 我猜这是3个孩子?

回答

1

你刚刚尝试...

$(文件)。就绪(函数(){

  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"); 
     });