2013-01-08 38 views
1

當我嘗試使用Sencha Touch 2在ArrayStore中查找記錄時,不會返回任何記錄。在Sencha Touch中無法獲取存儲記錄字段值

store.findExact('Symbol', 'GOOG') 

返回-1。

如下面屏幕截圖所示,

store.getRange() 

返回44分的記錄,並

store.first() 

返回一個記錄,但

store.first().get('Ask') 

返回未定義。

此外,當我做

store.getAt(1).getData() 

我只得到含有該領域的對象ID: 「EXT-記錄2」「。

爲什麼我不能使用store.findExact()檢索記錄,爲什麼record.get('column')返回undefined?

enter image description here

回答

0

發現問題...

我試圖重用跨ExtJS的和煎茶觸摸應用的典範。 Sencha Touch期望「字段」在「配置」內部定義,而ExtJS則不會。

ExtJS的:

Ext.define('MyModel', { 
    extend: 'Ext.data.Model', 
    fields: [ 
    {name: 'Symbol', type: 'string'}, 
    {name: 'LastPrice', type: 'float'}, 
    {name: 'Bid',  type: 'float'}, 
    {name: 'Ask',  type: 'float'}, 
    {name: 'Volume', type: 'int'}, 
    {name: 'Close',  type: 'float'} 
    ] 
}); 

煎茶觸摸:

Ext.define('MyModel', { 
    extend: 'Ext.data.Model', 
    config: { 
    fields: [ 
     {name: 'Symbol', type: 'string'}, 
     {name: 'LastPrice', type: 'float'}, 
     {name: 'Bid',  type: 'float'}, 
     {name: 'Ask',  type: 'float'}, 
     {name: 'Volume', type: 'int'}, 
     {name: 'Close',  type: 'float'} 
    ] 
    } 
}); 

一種解決方法:

var myModelConfig = { 
    extend: 'Ext.data.Model', 
    config: { 
    fields: [ 
     {name: 'Symbol', type: 'string'}, 
     {name: 'LastPrice', type: 'float'}, 
     {name: 'Bid',  type: 'float'}, 
     {name: 'Ask',  type: 'float'}, 
     {name: 'Volume', type: 'int'}, 
     {name: 'Close',  type: 'float'} 
    ] 
    } 
}; 
myModelConfig.fields = myModelConfig.config.fields; 
Ext.define('MyModel', myModelConfig); 
相關問題