Я написал директиву для treeList и привязал данные к нему из удаленного вызова службы. Ниже приведен код для TreeListDataSource в методе связи директивы:Kendo treeList datasource - не связывается с удаленными данными
scope.treeListOptions.dataSource = new kendo.data.TreeListDataSource({
transport: {
read: function(options) {
scope.getData().then(function(dataToBeDisplayed) {
options.success(dataToBeDisplayed);
}, function(error) {
$log.error(error);
});
},
error: function(e) {
alert(e.status + e.errorThrown);
},
},
});
scope.treeListOptions.dataSource.read();
Ниже приводится TreeList определение директивы:
var TreeListDirectiveDefinition = {
restrict: 'E',
replace: true,
template: '<div><kendo-treelist k-options="treeListOptions"></kendo-treelist></div>',
scope: {
columns: '=',
getMethod: '&'
},
link: linkTreeList
};
Когда я вижу данные связанный с scope.treeListOptions.dataSource.data(), есть человек у новых свойств добавлен, как показано ниже:
// parent element
C.define.init
PartExamined: "test"
StudyUid: "1.3.6.1.4.1.30071.8.56809868014.4964677242993979.234.56616"
_events: Object
_loaded: true
dirty: false
hasChildren: true
id: 1
parent:()
parentId: null
parentIdField: "parentId"
uid: "1ca6302c-b1ad-493f-b002-d2032a548a80"
__proto__: i.extend.i
//child element
C.define.init
PartExamined: "test2"
SeriesInstanceUid: "1.3.6.1.4.1.30071.8.56809868014.4964677242993979.234.56617"
_events: Object
_loaded: true
dirty: false
hasChildren: false
id: 2
parent:()
parentId: 1
parentIdField: "parentId"
uid: "953bc7a7-e5e8-4f26-a120-b13402c6cce4"
__proto__: i.extend.i
Свойства как родителя:(), parentIdField: "ParentId", _loaded: правда, грязная ложь, HasChildren: истинно добавляют TreeListDataSource.
Это правильный формат данных? потому что TreeList показывает «Нет записей для отображения».
Может ли кто-нибудь помочь мне исправить эту проблему?
ОБНОВЛЕНО Вот ссылка на угловой директивы, созданной для TreeList: http://jsfiddle.net/yuqorcvL/15/
директива по-прежнему не работает. Любая помощь будет оценена.
Спасибо.
пример я создал в этой ссылке работает без схемы: [ссылка] (http://dojo.telerik.com/akAwe/4). Любое другое решение? – user2439903
Что внутри 'data'' var treeList = $ ("# treeList"). Data ("kendoTreeList"); var data = treeList.dataSource.data(); '? –
Формат данных в вашем сообщении правильный. Дополнительные поля создаются оболочкой kendo 'TreeListDataSource'. –