0

MyMVC ViewModel包含要在 my 中显示的初始记录列表Kendo TreeList。但是,TreeList 没有呈现初始列表……我不明白为什么。

要求:

  • 如果存在初始记录...显示它们
  • READ ACTION 不能在初始渲染上执行(其他控件稍后管理)

对于其他 Kendo 控件,您设置:

  • 自动绑定(假)
  • BindTo(Model.MyColleciom)

...并且 READ ACTION 不执行。但是 TreeList 目前正在失败。

我的剃须刀看起来像:
在初始渲染记录确实存在(见下图)

@(Html.Kendo().TreeList<DeviceHierarchyDataItem>()
              .Name("treeTarget")
              .Columns(columns =>
              {
                  columns.Add().Field(e => e.DisplayName)
                               .TemplateId("tmplDisplayName")
                               .Title(" ");
              })
              .BindTo(Model.TargetDevices)
              .AutoBind(false)
              .DataSource(dataSource => dataSource
                         .Read(read => read.Action("find", "devicehierarchy", new { Area = "" })
                                           .Data("window.etp.pageController.getFilter"))
                         .ServerOperation(false)
                         .Model(m =>
                         {
                             m.Id(f => f.Id);
                             m.ParentId(f => f.ChildOf);
                             m.Expanded(true);
                             m.Field(f => f.DisplayName);
                         }))
              .Sortable())

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

1

奇怪的是,TreeList MVC 控件不支持绑定到本地数据......至少在2018 年 7 月不支持......

建议改用jquery 控件

然后将模型中的数据转换为 json 字符串:

$(document).ready(function () {
                var dataSource = new kendo.data.TreeListDataSource({
                    data: @Html.Raw(Json.Encode(@Model.TargetDevices)),
                    schema: {
                        model: {
                        id: "Id", 
                        parentid: "ChildOf", 
                        expanded: true
                        }
                    }
                });

我希望它有帮助!

于 2019-02-01T08:30:07.050 回答