2014-02-10 47 views
0

我使用的剑道格在了进去KendoUI微风

query = IncidentRepositoryService.getQueyObject(['Severity', 'eq', 'Normal']); 
     IncidentRepositoryService.getEntitiesByQuery(query).then(function(results) { 

      for (var i = 0; i < results.length; i++) { 
       unwrapped.push(results[i]._backingStore); 
      } 
      $scope.incidentDS.data($scope.grid.data); 

     }); 

我不得不添加后备存储事业时,我加入了真正的对象我离开堆栈异常的从剑道我绑定微风元素。我不能使用后备商店,因为我必须定义微风类型的属性,我需要绑定到他们

回答

0

我知道这个答案有点晚。但也许有人仍然在寻找这个问题的答案。 您不能在Kendo网格中使用Breeze实体,因为它包含循环引用。 您可以使用实验Breeze Kendo Datasource或实现自己哪个没有循环引用创建对象的函数:

// Converts a breeze entity to a kendo data source item. 
// Data properties are written to a new objects. Breeze entity 
// is moved to __breezeEntity property. 
function toKendoItem(entity) { 
    if (entity === null || entity === undefined) { 
     return entity; 
    } 

    var props = entity.entityType.dataProperties, 
     obj = {}; 
    props.forEach(function (prop) { 
     obj[prop.name] = entity[prop.name]; 
    }); 
    obj.__breezeEntity = entity; 
    return obj; 
} 

query = IncidentRepositoryService.getQueyObject(['Severity', 'eq', 'Normal']); 
IncidentRepositoryService.getEntitiesByQuery(query).then(function(results) { 
    for (var i = 0; i < results.length; i++) { 
     unwrapped.push(toKendoItem(results[i])); 
    } 
    $scope.incidentDS.data($scope.grid.data); 
});