2012-06-14 38 views
1

我有一個只有3個項目的拉力格。網格自動顯示每頁顯示25/50/100/etc的鏈接。當我點擊50,說,我只是得到一個不斷調整員說「加載...」,並在JS控制檯,我得到一個未被捕獲的錯誤「無法調用方法'indexOf'...」Rally SDK 2.0 RallyGrid在點擊頁面時給出IndexOf錯誤

我假設這意味着我的數據存儲缺少一些東西?

這裏的網格東西:

 var resultsModel = Ext.define('ResultsModel', { 
      extend: 'Ext.data.Model', 
      fields: [ 
      {name: 'FID', type: 'string'}, 
      {name: 'TestName', type: 'string'}, 
      {name: 'TestDuration', type: 'string'}, 
      {name: 'Verdict', type: 'string'}, 
      ]  
     }); 

this.resultsStore = Ext.create( 'Ext.data.Store',{ 模型: 'ResultsModel', 每頁:25 });

 this.down('#testResults').add({ 
       xtype: 'rallygrid', 
       store: this.resultsStore, 
       width: 800, 
       viewConfig: { 
       stripeRows: true, 
       emptyText: "No test cases run" 
       }, 
       columnCfgs: [ 
        { 
         text: 'TestCase', dataIndex: 'FID', width: 65 
        }, 
        { 
         text: 'Test Name', dataIndex: 'TestName', flex: 1 
        }, 
        { 
         text: 'Run Time (s)', dataIndex: 'TestDuration', width: 75 
        },      
        { 
         text: 'Verdict', dataIndex: 'Verdict', width: 65, 
         renderer: function(value){ 
          if((value == "Fail") || (value == "Error")){ 
           return Ext.String.format("<div style='background-color:#F00;color:#FFF;font-weight:bold;text-align:center'>{0}</div>", value); 
          } 
          else{ 
           return Ext.String.format("<div style='background-color:#2EFE2E;color:#000;font-weight:bold;text-align:center'>{0}</div>", value); 

          } 
         } 
        } 

       ] 
      }); 

和這裏的數據被塞進數據存儲:

Ext.Array.each(data, function(record) {  
     records.push({ 
      FID: record.get('TestCase')['FormattedID'], //record.data.TestCase might work too. 
      TestName: record.get('TestCase')['Name'], 
      TestDuration: record.get('Duration'), 
      Verdict: record.get('Verdict') 
     }); 
    }); 

    this.resultsStore.loadData(records, false); 

該分機被遍歷數組中的數據僅僅是一個獲取測試運行。

這裏是控制檯輸出:

Uncaught TypeError: Cannot call method 'indexOf' of undefined sdk-debug.js:5304 
Ext.apply.urlAppend sdk-debug.js:5304 
Ext.define.buildUrl sdk-debug.js:26016 
Ext.define.buildRequest sdk-debug.js:25859 
Ext.define.doRequest sdk-debug.js:26059 
Ext.define.read sdk-debug.js:25828 
Ext.define.load sdk-debug.js:44668 
Base.callParent sdk-debug.js:2894 
Ext.define.load sdk-debug.js:45283 
Ext.define.read sdk-debug.js:44420 
Ext.define.loadPage sdk-debug.js:45562 
Ext.define.changePageSize sdk-debug.js:96872 
(anonymous function) sdk-debug.js:1540 
(anonymous function) 
wrap 

回答

0

你見過這個例子嗎?

https://rally1.rallydev.com/apps/2.0p/doc/#!/example/GridWithFreeformData

我們創建了一個商店,扮演與電網不錯,會自動爲你創建一個模型,並加載自定義數據。

+0

我認爲答案似乎是我讓腳本做到這一點:1.創建一個空的商店,創建一個空的網格,獲取數據,然後使用store.loadData來更新商店和網格的數據。但loadData使它忽略頁面大小,頁面數字鏈接似乎恢復到空的存儲。所以答案似乎是1.獲取數據,用數據創建商店,然後創建網格。這似乎工作。 – curmudgeon