Пользовательский интерфейс Kendo MVC Treeview не загружает дочерние элементы при обновлении источника данных - PullRequest
0 голосов
/ 03 октября 2019

У меня есть Kendo Treeview, который создается здесь:

@(Html.Kendo().TreeView()
    .Name("treeview")
    .DataTextField("Name")
    .DataSource(
        dataSource => dataSource
        .Read(read => read
            .Action("Catalog_Read", "MerchandisingPart", new
            {
                departmentId = Model.GroupId,
                classCode = Model.ClassId,
                commodityCode = Model.CommodityCode
            })
        )
    )
)

Когда страница первоначально загружается, дерево работает правильно, и расширяемые узлы загружают свои дочерние элементы. Каждый раз, когда узлы расширяются, вызывается метод Catalog_Read из контроллера для поиска дочерних узлов.

В коде есть текстовое поле под названием commodityCode. Когда это текстовое поле изменяется, я изменяю его источник данных и снова вызываю метод Catalog_Read для загрузки нового дерева. Это делается здесь:

$(document).ready(function () {
    var tree = $("#treeview").data("kendoTreeView");
    $("#commodityCode").change(function () {
        var dataSourceRefresh = new kendo.data.HierarchicalDataSource({
            transport:
            {
                read:
                {
                    url: "@Url.Action("Catalog_Read", "MerchandisingPart")?departmentId=" + encodeURIComponent($('#GroupId').val())
                        + "&classCode=" + encodeURIComponent($('#ClassId').val()) + "&commodityCode=" + encodeURIComponent($('#commodityCode').val()),
                    dataType: "json"
                }
            }
        })
        tree.setDataSource(dataSourceRefresh);
    });
});

Это правильно загружает новое дерево. Моя проблема в том, что после того, как я получил новый источник данных, расширяемые узлы больше не раскрываются, чтобы показывать их дочерние элементы при нажатии. Он вызывает контроллер с правильными параметрами при каждом щелчке, он просто не расширяет дерево.

Кто-нибудь знает, как заставить дерево перезагрузить его потомки после изменения источника данных?

Спасибо!

...