0

我正在使用 Kendo UI MVC 扩展。我在页面上有一个树视图

<script type="text/x-kendo-tmpl" id="template">
    <div class="form">
        <h3>${Name}</h3>
    </div>
</script>

@(Html.Kendo().ListView(Model)
      .Name("formsList")
      .ClientTemplateId("template")
      .TagName("div")
      .BindTo(Model)
      .DataSource(dataSource => dataSource
      .Model(model =>
          { 
              model.Id(p => p.Id);
              model.Field(p => p.Name);
              model.Field(p => p.Fields);
          }))
      .Pageable()
      .Selectable(selectable => selectable.Mode(ListViewSelectionMode.Single))
      .Events(events => events.Change("onChange")))

当我单击项目时,我想Fields在下面单独的 TreeView 中的模型中显示属性。

到目前为止我有这样的代码

<script type="text/javascript">
    function onChange(arg) {
        var dataSource = $("#formsList").data("kendoListView");
        var index = dataSource.select().index();
        var dataItem = dataSource.dataSource.view()[index];

        alert(dataItem.Fields);
    }
</script>

我可以获得所选数据项的 Fields 属性,但我应该如何将它传递给第二个 TreeView?

4

1 回答 1

1

原则上,您需要将所选项目分配为第二个 Kendo TreeView 的数据源,或直接分配给您第一个 TreeView 使用的数据源。(您在询问 treeview 并且您的示例显示 listview ?)

<div id="treeview"></div>
<script type="text/javascript">

var myDataSource = new kendo.data.DataSource({
                        data: dataSource.dataSource.view()[index]});     
$("#treeview").kendoTreeView({
                  dataSource: myDataSource 
                }).data("kendoTreeView");
于 2012-11-05T16:45:32.280 回答