Развернуть узел дерева пользовательского интерфейса кендо, используя идентификатор

Я создаю дерево пользовательского интерфейса кендо, используя привязку к удаленным данным http://demos.kendoui.com/web/treeview/remote-data.html

я новичок в пользовательском интерфейсе кендо в этом, если я использую приведенный ниже код для расширения дерева, он отлично работает

var treeview = $("#treeview").data("kendoTreeView");
// expand all nodes
treeview.expand(".k-item");

когда я пытался использовать id, это дает мне неопределенную ошибку

код

var treeview = $("#treeview").data("kendoTreeView");
// expand the node with id=3
treeview.expand(document.getElementById("3"));
//treeview.dataSource.view();

и это мой код jquery

var serviceRoot = "search/treej.php";
homogeneous = new kendo.data.HierarchicalDataSource({
    transport: {
        read: {
            url: serviceRoot,
            dataType: "jsonp"
        }
    },
    schema: {
        model: {
            id: "id",
            hasChildren: "child"
        }
    }
});

$("#treeview").kendoTreeView({
    checkboxes: {
        checkChildren: false,    
    },
    dataSource: homogeneous,
    dataTextField: "value"
});

// my function to expand node using id it is called on my button click
function expand_me(){
    var treeview = $("#treeview").data("kendoTreeView");
    // expand the node with id=3
    treeview.expand(document.getElementById("3"));
}

у меня нет особого представления об этом, но расширение невозможно для js fiddle (потому что я использую базу данных), поэтому я создал демонстрационный код для сворачивания http://jsfiddle.net/mitesh_inf/S3H6U/

может любой приятель сказать мне, где я делаю неправильно??


person M.I.T.    schedule 08.06.2013    source источник
comment
можете ли вы поделиться им в jsfiddle, пожалуйста?   -  person Paritosh    schedule 08.06.2013
comment
@Parse я отключаю внешний файл для получения данных   -  person M.I.T.    schedule 08.06.2013
comment
@Parse здесь для сворачивания http://jsfiddle.net/mitesh_inf/S3H6U/   -  person M.I.T.    schedule 08.06.2013


Ответы (1)


В вашем примере jsFiddle нет элемента с идентификатором 3. document.getElementById("3") возвращает null.

Если вы знаете uid из Kendo DataSource для элемента, который хотите свернуть, вы можете использовать селектор jQuery, чтобы найти элемент с соответствующим атрибутом data-uid:

$("#treeview")
    .data("kendoTreeView")
    .collapse('.k-item[data-uid="a7e9f5fd-4c11-4e0f-bb16-ae335c70c73f"]');

Или, если вы имеете в виду 3-й элемент в дереве:

$("#treeview")
    .data("kendoTreeView")
    .collapse($('.k-item').eq(2));
person CodingWithSpike    schedule 09.06.2013