Rally 2.0 SDK - 查询过滤仅返回200个结果

时间:2013-07-26 11:55:51

标签: rally

我正在尝试在查询中获得超过200个元素。所以,我已根据this documentation修改了查询应返回的结果限制,但这不起作用。有什么想法吗?

我正在尝试以下方法:

var tasksWithActualsQuery = Ext.create('Rally.data.WsapiDataStore', 
{
    model: 'Task',
    limit: Infinity,
    fetch: ['CreationDate', 'Actuals'],
    filters: 
    [     
        {
            property: 'CreationDate',
            operator: '<',
            value: 'LastMonth'
        }
    ]
});

tasksWithActualsQuery.load({
    callback: function(records, operation) 
    {
        if(operation.wasSuccessful()) 
        {
            var tasksWithActualsCount = 0;

            Ext.Array.each(records, function(record) {
                if (record.get('Actuals') != null)
                {
                    tasksWithActualsCount++;
                }
            });

            var tasksCount = records.length;
            alert(tasksCount);
        }
    }
});                

1 个答案:

答案 0 :(得分:2)

您的代码是正确的 - 重要的部分是限制:无限。

不幸的是,似乎存在缺陷 - Rally.data.WsapiDataStore没有从加载调用向您的回调函数传递正确的参数。它只通过商店而不是记录,操作成功。

这应该让你暂时解决缺陷:

tasksWithActualsQuery.load({
    callback: function(store) {
        var tasksWithActualsCount = 0;

        store.each(function(record) {
            if (record.get('Actuals') != null) {
                tasksWithActualsCount++;
            }
        });

        var tasksCount = store.getTotalCount();
        alert(tasksCount);
    }
});