Dynatree возвращает ошибку, когда сталкивается с более чем 2000 элементов - PullRequest
2 голосов
/ 08 декабря 2011

Я использую dynatree, и все работает нормально, но если у узла большое количество элементов, я получаю сообщение об ошибке.Я читал о настройке enableUpdate(false); функции, но это также не помогло.Есть идеи?

var serviceParams = { Type: this._fieldName };

$("#tree").dynatree({       
    autoFocus: false,
    clickFolderMode: 1,     
    initAjax: {
        url: tree._serviceUrl + "/top",
        data: jQuery.serializeJSON(serviceParams),
        type: "POST",
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    },

    onLazyRead: function(node) {        

        //this.enableUpdate(false);    

        var serviceParamsForChildren = 
        { 
            Type: tree._fieldName, 
            parentId: node.data.key, 
            includeDescedants: false 
        };

        node.appendAjax({
            url: tree._serviceUrl + "/Children",
            data: jQuery.serializeJSON(serviceParamsForChildren),
            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json"
        });

        //this.enableUpdate(true);
    },
    onActivate: function(node) {
       tree._selectedNode = node;
    }
});

1 Ответ

2 голосов
/ 09 декабря 2011

Согласно документам

tree.enableUpdate (включить)

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

...