如何从Sencha MVC方法创建的表中获取数据?

时间:2012-04-10 07:24:01

标签: sencha-touch extjs

我的数据库中有一张表。我将行添加到创建的数据存储区中。

var journal_db = [];
var db;

这是我的dataStore:

Ext.define('iPolis.store.journalStore', {
extend: 'Ext.data.Store',

requires: 'Ext.DateExtras',

config: {

    model: 'iPolis.model.journal',

    data : journal_db

}
});

我将行添加到我的数据存储区中,如下所示:

for (var i=0; i < results.rows.length; i++){
          row = results.rows.item(i);
        journalStore.add({'id':row['id'],'infoLine':row['infoLine'],'eventDate':row['eventDate'],'address':row['address'],'text':row['text'],'place':row['place']});

  }

它给我一个引用错误Uncaught ReferenceError:未定义journalStore。 任何人都可以帮我将行添加到数据存储区吗?

2 个答案:

答案 0 :(得分:1)

您需要在使用之前创建商店实例

var journalStore = Ext.create('iPolis.store.journalStore');
for (var i=0; i < results.rows.length; i++) {
     journalStore.add(results.rows.item(i));
}

答案 1 :(得分:0)

在这里,Sencha Touch将journalStore理解为变量。我无法在任何地方看到它...所以也许它确实是未定义的。

要获取商店,只需在商店定义中添加ID,例如:id: 'journal-store',只要您想要获取商品,只需使用Ext.getStore('journal-store')

希望它有所帮助。

PS:如果您的商店未自动创建(通过其他组件的配置,例如Ext.List),则必须明确创建它。添加

journalStore = Ext.create('iPolis.store.journalStore');

它应该有用。