Corrida:Obtenha dados do portfólio em uma tabela
Pergunta
Estou criando um aplicativo personalizado que deve mostrar o nome e o FormattedID.Usei o exemplo emhttp://developer.rallydev.com/help/tablese modifiquei um pouco, mas é a mesma funcionalidade.
Algo está errado com minha função, mas não consigo encontrar o erro....
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Copyright (c) 2011 Rally Software Development Corp. All rights reserved -->
<html>
<head>
<title>Samys Board</title>
<meta name="Name" content="App Example: Table" />
<meta name="Version" content="2010.4" />
<meta name="Vendor" content="Rally Software" />
<script type="text/javascript" src="/apps/1.24/sdk.js"></script>
<script type="text/javascript">
function tableExample() {
var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', '__PROJECT_OID__', '__PROJECT_SCOPING_UP__', '__PROJECT_SCOPING_DOWN__');
modelAuswahl();
function modelAuswahl() {
var queryObj = { key: 'erg_story',
type: ["PortfolioItem"],
fetch: 'FormattedID,Name'
};
rallyDataSource.findAll(queryObj, elementShow);
}
function elementShow(results) {
var tabellenBereich;
var config = { columns:
[{ key: 'FormattedID', header: 'Formatted ID', width: 100 },
{ key: 'Name'}]
};
var table = new rally.sdk.ui.Table(config);
table.addRows(results.erg_story);
tabellenBereich = document.getElementById('resultID');
tabellenBereich.innerHTML = '<h1>Testing get Elements from Database</h1>';
table.display(tabellenBereich);
//----Ende representation-----------------
};
}
rally.addOnLoad(tableExample);
</script>
</head>
<body>
<table id="display" cellpadding=3 rules=rows>
<tr BGCOLOR=#99CCFF height=25>
<td width=80;><strong>ID</td>
<td width=670;><strong>Name</td>
<td width=200;><strong>Original</td>
<td width=200;><strong>New Size</td>
<td width=200;><strong>Cycle Time</td>
</tr>
</table>
<div id="resultID"></div>
</body>
</html>
Solução
Samy,
Abaixo está um código que funcionará.
Quatro coisas foram corrigidas.
- Uma tabela pode ser exibida diretamente em uma div (e você pode passar o nome da div)
- Você não precisa de uma tabela HTML
- Alterei os metadados para se referir ao nome do seu aplicativo (assim poderemos rastrear quantas pessoas escrevem aplicativos
- Você estava fazendo referência à versão 1.24 do nosso App SDK e, portanto, ao nosso WSAPI.Os itens do portfólio não existiam na versão 1.24.Você pode ver isso no resultado do serviço da web
Marca
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Copyright (c) 2011 Rally Software Development Corp. All rights reserved -->
<html>
<head>
<title>Samys Board</title>
<meta name="Name" content="App: Samys Table" />
<meta name="Version" content="2010.4" />
<meta name="Vendor" content="Rally Software" />
<script type="text/javascript" src="/apps/1.30/sdk.js"></script>
<script type="text/javascript">
function tableExample() {
var rallyDataSource = new rally.sdk.data.RallyDataSource('__WORKSPACE_OID__', '__PROJECT_OID__', '__PROJECT_SCOPING_UP__', '__PROJECT_SCOPING_DOWN__');
modelAuswahl();
function modelAuswahl() {
var queryObj = { key: 'erg_story',
type: ["PortfolioItem"],
fetch: 'FormattedID,Name'
};
rallyDataSource.findAll(queryObj, elementShow);
}
function elementShow(results) {
var config = { columns:
[{ key: 'FormattedID', header: 'Formatted ID', width: 100 },
{ key: 'Name'}]
};
var table = new rally.sdk.ui.Table(config);
table.addRows(results.erg_story);
table.display('resultID');
//----Ende representation-----------------
};
}
rally.addOnLoad(tableExample);
</script>
</head>
<body>
<div id="resultID"></div>
</body>
</html>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow