2017-10-06 9 views
0

Je travaille sur le contrôle TreeView kendo et essaie d'afficher la structure arborescente dans la grille. Je reçois les données json du contrôleur Action Method mais le contrôle affiche toujours un message d'erreur "Aucun enregistrement à afficher" Quelqu'un peut-il m'aider s'il vous plaît à identifier mon erreur.Kendo Tree Afficher n'affiche aucun enregistrement pour obtenir le résultat json du contrôleur

Voici mon code javascript.

<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.3.913/styles/kendo.common-material.min.css" /> 
 
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.3.913/styles/kendo.material.min.css" /> 
 
<link rel="stylesheet" href="https://kendo.cdn.telerik.com/2017.3.913/styles/kendo.material.mobile.min.css" /> 
 

 
<script src="https://kendo.cdn.telerik.com/2017.3.913/js/jquery.min.js"></script> 
 
<script src="https://kendo.cdn.telerik.com/2017.3.913/js/kendo.all.min.js"></script> 
 
<script type="text/javascript"> 
 

 
    $(document).ready(function() { 
 
     var modelId = $("#hdnModelId").val(); 
 
     var dataSource = new kendo.data.TreeListDataSource({ 
 
      transport: { 
 
       read: { 
 
        url: "/EntityData/GetEntities", 
 
        dataType: "json", 
 
        data: { modelId: modelId } 
 
       } 
 
      }, 
 
      schema: { 
 
       model: { 
 
        id: "EntityId", 
 
        parentId: "ParentEntityId", 
 
        fields: 
 
         { 
 
          Name: { field: "Name", type: "string" }, 
 
          EntityId: { type: "number", editable: false, nullable: false }, 
 
          ParentEntityId: { field: "ParentEntityId", nullable: true} 
 
         }, 
 
       } 
 
      } 
 
     }); 
 
     
 
     $("#treelist").kendoTreeList({ 
 
      dataSource: dataSource, 
 
      columns: [{ field: "Name" }] 
 
     });  
 
    }); 
 

 
    
 
</script>

.

Voici ma méthode d'action.

[HttpGet] 
    public ActionResult GetEntities(int modelId) 
    {    
     var entities = metaDataService.GetEntitiesByModelId(modelId).ToList(); 
     return Json(new { Data = entities }, JsonRequestBehavior.AllowGet); 
    } 

Voici les données JSON que je reçois de ma méthode d'action.

{"Data":[{"EntityId":1,"ApplicationId":2,"Name":"Car","Description":"This entity describes a car.!","IsPublished":true,"IsDeleted":false,"ParentEntityId":null,"HasChildren":false},{"EntityId":20,"ApplicationId":2,"Name":"Test 567","Description":"Test 567!","IsPublished":true,"IsDeleted":false,"ParentEntityId":null,"HasChildren":false},{"EntityId":21,"ApplicationId":2,"Name":"Test Tst Entity","Description":"Test Tst Entity1234","IsPublished":true,"IsDeleted":false,"ParentEntityId":1,"HasChildren":true},{"EntityId":23,"ApplicationId":2,"Name":"Test New Entity","Description":"Test New Entity","IsPublished":true,"IsDeleted":false,"ParentEntityId":null,"HasChildren":false},{"EntityId":46,"ApplicationId":2,"Name":"Kendo Entity Test","Description":"Kendo Entity Test","IsPublished":true,"IsDeleted":false,"ParentEntityId":null,"HasChildren":false},{"EntityId":63,"ApplicationId":2,"Name":"Test new Entity","Description":"Test New Entity","IsPublished":true,"IsDeleted":false,"ParentEntityId":20,"HasChildren":true}]} 

Toute aide est très appréciée

Merci à l'avance

Répondre

0

Essayez addind ceci à votre schéma:

schema: { 
    data: "Data" 

Vous devez dire la source de données qui propriété dans votre JSON tableau est.