KendoUI TreeView Динамический JSON - PullRequest
2 голосов
/ 04 января 2012

Я пытаюсь использовать KendoUI от Telerik и получить древовидное представление для привязки к динамическому JSON из универсального обработчика.

В моем универсальном обработчике я использую Newtonsoft.Json для преобразования List в мои результаты JSON, который прекрасно работает и даже работает с другим элементом управления KendoUI (диаграммами).

Вот то, что у меня есть, насколько JavaScript для построения дерева:

var treeSource = new kendo.data.DataSource({
                transport: {
                    read: {
                        url: "Services/CategoryHandler.ashx",
                        dataType: "json",
                        contentType: "application/json; charset=utf-8",
                        type: "GET"
                    }
                }
            });

            $("#treeview").kendoTreeView({
                dataSource: treeSource
            });

Вот сокращенный пример возвращаемого JSON:

[
   {
      "text":"Node 1",
      "expanded":true,
      "items":null
   },
   {
      "text":"Node 2",
      "expanded":true,
      "items":null
   }
]

«Предметы» будут вложенными в дереве.

Когда я добавляю элементы непосредственно в источник данных, например:

var treeview = $("#treeview").kendoTreeView({
                            dataSource: [
                                { text: "Item 1", expanded: true, items: [
                                    { text: "Item 1.1" },
                                    { text: "Item 1.2" },
                                    { text: "Item 1.3" }
                                ] },
                                { text: "Item 2", items: [
                                    { text: "Item 2.1" },
                                    { text: "Item 2.2" },
                                    { text: "Item 2.3" }
                                ] },
                                { text: "Item 3" }
                            ]
                        })

Работает просто отлично. Это просто не работает, когда я вызываю сервис, который записывает JSON, и что я имею в виду под ним, не работает, если никакие данные не отображаются, это пусто.

Есть ли у вас какие-либо мысли о том, что мне может не хватать, или рекомендации о том, как я могу проверить, что мои данные даже возвращаются из службы и даже правильно заполняют мой источник данных?

Спасибо

Ответы [ 2 ]

3 голосов
/ 05 января 2012

ВАЖНО Как и 8 ноября 2012 года, KendoUI уже поддерживает его.

Kendo TreeView пока не поддерживает привязку к источнику данных.Хорошей новостью является то, что это в планах и будет реализовано в ближайшее время (следующий выпуск).

0 голосов
/ 11 апреля 2012

у меня работает с подвохом.Я использую динамический ViewBag с Json, сериализованным на контроллере, и поэтому узлы отлично прорисовываются.

Моя проблема в том, что события, похоже, не работают нормально.Например, я хочу поймать onDrop и выдать предупреждение, чтобы показать действительные значения такого узла, и вместо этого он отображает текст для ВСЕХ узлов.Кстати, это сводит меня с ума.

Это мой код, надеюсь, кто-то может помочь.

    function onDrop(e) {
        alert(treeView.text(e.sourceNode));
    }

Для работы должен быть назначен шаблон:

template: "<span rel='#= item.Id #'> #=item.text #</span>",
...