2016-02-13 57 views
0

我想显示我的json从mvc控制器显示在复选框kendo ui treeview上。发送到视图中的asp.net的MVC视图中的代码和JSON下面给出Kendo UI Treeview不能正确显示日期

MyDoc.cshtml code 
<script>     
      $("#treeview").kendoTreeView({ 
       checkboxes: { 
        checkChildren: true,      
       }, 
       dataSource: { 
        //type: "odata", 
        transport: { 
         read: { 
          url: '@Url.Content("~/Document/GetMyDocs")', 
          type: "post", 
          dataType: "json" 
         } 
        },       
        schema: { 
         model: { 
          id: "id", text:"Name", 
          children: "Files" 
         } 
        } 
       }, 
       dataTextField: [ "Name"], 
       check: onCheck    
      }); 

json object 
     [{"id":1,"Name":"Checking", 
     "Files":[{"Filename":"doc10","id":"1afd5a4f-086f-44d2-9287-8098384e379e"}, 
     {"Filename":"doc11","id":"89ea3366-14b8-4e91-8273-6e2a51fbe516"}]}, 
     {"id":2,"Name":"Saving", 
     "Files":[{"Filename":"doc20","id":"c7a88f5d-067e-4f20-93b6-da6eff69d532"}, 
     {"Filename":"doc21","id":"8a0a62ed-1b4a-4e5e-8d59-d57a975a7ab0"}]}] 

当我查看该页面只有顶层的文本,“检查”和“保存”的节目。 “文件”下的日期未定义。

感谢

回答

0

它看起来像剑道UI使用dataTextField:[“名称”]父和子节点两者。由于子数据中的json没有等于“Name”的字段名称,因此未定义。一旦我将属性“FileName”更改为“Name”,它就起作用了。 Telerik的文档与其他第三方控件一样糟糕。他们的所有演示都更适合用简单的硬编码数据展示如何创建一个性感外观的UI,而不是展示如何创建真实世界的应用程序!

+0

其实我找到了一种方法来保持子节点与“FileName”相同。由于dataTextField:[“Name”]是一个数组,我已将其更新为dataTextField:[“Name”,“FileName”]。现在它可以正常工作,而不需要重新命名子数据属性。希望对某人有用! – Massey