Rally网格中的重复数据
运行此脚本以查看所有用户故事和缺陷的组合列表时,我在网格中显示了两组数据(重复)。当我点击过滤器并关闭和打开缺陷时,它会自行解决。知道重复数据来自何处以及如何修复它吗Rally网格中的重复数据,rally,Rally,运行此脚本以查看所有用户故事和缺陷的组合列表时,我在网格中显示了两组数据(重复)。当我点击过滤器并关闭和打开缺陷时,它会自行解决。知道重复数据来自何处以及如何修复它吗 <!DOCTYPE html> <html> <head> <title>WorkItemList</title> <script type="text/javascript" src="/apps/2.0/sdk.js"></scri
<!DOCTYPE html>
<html>
<head>
<title>WorkItemList</title>
<script type="text/javascript" src="/apps/2.0/sdk.js"></script>
<script type="text/javascript">
Rally.onReady(function () {
Ext.define('CustomApp', {
extend: 'Rally.app.App',
componentCls: 'app',
launch: function() {
Ext.create('Rally.data.wsapi.TreeStoreBuilder').build({
models: ['userstory', 'defect'],
autoLoad: true,
enableHierarchy: true
}).then({
success: this._onStoreBuilt,
scope: this
});
},
_onStoreBuilt: function(store) {
var modelNames = ['userstory', 'defect'];
var context = this.getContext();
this.add({
xtype: 'rallygridboard',
modelNames: modelNames,
context: context,
enableHierarchy: 'true',
toggleState: 'grid',
plugins: [
'rallygridboardaddnew',
{
ptype: 'rallygridboardcustomfiltercontrol',
filterControlConfig: {
modelNames: modelNames
}
},
{
ptype: 'rallygridboardactionsmenu',
menuItems: [
{
text: 'Export...',
handler: function() {
window.location = Rally.ui.grid.GridCsvExport.buildCsvExportUrl(
this.down('rallygridboard').getGridOrBoard());
},
scope: this
},
{
text: 'Print...',
handler: function () {
Ext.create('Rally.ui.grid.TreeGridPrintDialog', {
grid: this.down('rallygridboard').getGridOrBoard(),
treeGridPrinterConfig: {
largeHeaderText: 'Tasks'
}
});
},
scope: this
}
],
buttonConfig: {
iconCls: 'icon-export'
}
}
],
cardBoardConfig: {
attribute: 'ScheduleState'
},
gridConfig: {
store: store,
enableRanking: true,
defaultSortToRank: true,
enableBulkEdit: true,
enableInlineAdd: true,
showRowActionsColumn: true,
columnCfgs: [
'Rank',
'FormattedID',
'Name',
'Release',
'Iteration',
'ScheduleState',
'PlanEstimate',
'TaskActualTotal',
'Owner',
'Tags'
]
},
height: this.getHeight()
});
}
});
Rally.launchApp('CustomApp', {
name:"WorkItemList",
parentRepos:""
});
});
</script>
</head>
<body>
</body>
</html>
工作项目列表
Rally.onReady(函数(){
Ext.define('CustomApp'{
扩展:“Rally.app.app”,
组件CLS:“应用程序”,
启动:函数(){
Ext.create('Rally.data.wsapi.TreeStoreBuilder').build({
模型:['userstory','defect'],
自动加载:对,
enableHierarchy:true
}).那么({
成功:这是一个成功的故事,
范围:本
});
},
_OnStoreBuild:功能(存储){
var modelNames=['userstory','defect'];
var context=this.getContext();
这个。添加({
xtype:“rallygridboard”,
模型名:模型名,
上下文:上下文,
enableHierarchy:“true”,
toggleState:“网格”,
插件:[
“rallygridboardaddnew”,
{
p类型:“rallygridboardcustomfiltercontrol”,
FilterControl配置:{
模型名:模型名
}
},
{
p类型:“rallygridboardactionsmenu”,
菜单项:[
{
文本:“导出…”,
处理程序:函数(){
window.location=Rally.ui.grid.GridCsvExport.buildCsvExportUrl(
这个.down('rallygridboard').getGridOrBoard());
},
范围:本
},
{
文本:“打印…”,
处理程序:函数(){
Ext.create('Rally.ui.grid.TreeGridPrintDialog'{
grid:this.down('rallygridboard').GetGridBoard(),
treeGridPrinterConfig:{
largeHeaderText:“任务”
}
});
},
范围:本
}
],
按钮图标:{
iconCls:“图标导出”
}
}
],
cardBoardConfig:{
属性:“ScheduleState”
},
gridConfig:{
店:店,,
使能排名:正确,
defaultSortToRank:对,
enableBulkEdit:true,
enableInlineAdd:true,
showRowActionsColumn:对,
专栏CFGS:[
"排名",,
'格式化ID',
“姓名”,
“释放”,
“迭代”,
“计划状态”,
“PlanEstimate”,
“TaskActualTotal”,
“所有者”,
“标签”
]
},
高度:this.getHeight()
});
}
});
Rally.launchApp('CustomApp'{
名称:“工作项列表”,
家长报告:“
});
});
尝试从您的专栏中省略排名CFG:
columnCfgs: [
'FormattedID',
'Name',
'Release',
'Iteration',
'ScheduleState',
'PlanEstimate',
'TaskActualTotal',
'Owner',
'Tags'
]
}
默认情况下,rallygridboard
将包含Rank
,我认为将其添加为一列会使事情变得混乱。对上述片段的调整似乎对我起到了作用