2013-03-08 3 views
1

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

Запроса объект:

var queryObject = { 
       key: 'storiesBackLog', 
       type: 'hierarchicalrequirement', 
       fetch: 'FormattedID,Name,PlanEstimate,ScheduleState,Tags', 
       query: '(ScheduleState = "Backlog")', 
       order: 'FormattedID' 
     }; 

Таблица Config:

var config = { columns: 
      [  
       {key:'FormattedID', header:'ID', width:60}, 
       {key:'PlanEstimate', header:'Points', width:60}, 
       {key:'Name', header:'Name', width:400}, 
       {key:'Tags.Name', header:'Department', width:400}, 
      ] 
     }; 

С тегами. Имя результат ... и с тегами результат [object Object]. Кто-нибудь знает, какой должен быть ключ?

FINAL РЕШЕНИЕ:

rally.forEach(results.storiesBackLog, function(story) { 
     var tags = []; 
     rally.forEach(story.Tags, function(tag) { 
      tags.push(tag.Name); 
     }); 
     story.TagNames = tags.join(';'); 
    }); 

    var tableBackLogConfig = { columns: 
     [ 
      {key:'TagNames', header:'Department', width:400}, 
     ] 
    }; 

ответ

1

Я думаю, что компонент таблицы достаточно умен, чтобы пройти вниз граф объекта, но я держал пари, тот факт, что слова является коллекцией отключения его. Возможно, вам сначала необходимо обработать данные и добавить столбец с именем TagNames в таблицу вместо того, чтобы вы вычислили себя, когда данные возвращаются из RallyDataSource.

function onDataRetrieved(results) { 
    rally.forEach(results.storiesBacklog, function(story) { 
     story.TagNames = (story.Tags || []).join(', '); 
    }); 

    var config = { columns: 
     [ //... 
      {key: 'TagNames', header 'Department', width: 400} 
     ] 
    }; 
    //create table 
}