2012-04-10 12 views
0

私のデータベースにテーブルがあります。作成したデータストアに行を追加しています。Sencha MVCアプローチで作成されたテーブルからデータをフェッチする方法は?

var journal_db = []; 
var db; 

これが私のデータストアです:

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']}); 

    } 

それは私の参照エラー捕捉されないのReferenceErrorを与える:journalStoreが定義されていません。 誰でもデータストアに行を追加できますか?

答えて

0

ここで、Sencha TouchはjournalStoreを変数として認識しています。私はそれをどこにでも見ることはできません。だから多分本当に未定義です。

ストアを取得するには、id: 'journal-store'のようなストア定義にIDを追加するだけです。取得する場合は、単にExt.getStore('journal-store')を使用してください。

希望します。

PS:ストアが自動的に(Ext.Listなどの他のコンポーネントの設定によって)作成されない場合は、明示的に作成する必要があります。

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

を追加し、それが動作するはずです。

+0

journalStoreが私の店の名前である、それを使用する前に、店のインスタンスを作成する必要があります。私はmvcパターンに従わなかったときと同じ方法でaddメソッドを使いました。そして、私はデータ項目に行項目を追加することができました。今私は自分のデータストアにidを与え、これを次のように使いました: 'var mystore = Ext.getStore( 'journal-store'); mystore.add({'id':row ['id']、 'infoLine':行['infoLine']、 'eventDate':行['eventDate']、 'アドレス':行['アドレス'] 'テキスト ':行['テキスト ']}); ' 今、私はこのエラーが表示されます:Uncaught TypeError:未定義のメソッド' add 'を呼び出すことができません。 – Akshatha

+0

私はそれをチェックし、あなたの店がまだ作成されていないことを見ました。私が書いたことを試してみてください。それが役に立てば幸い。 –

+0

どこに 'journalStore = Ext.create( 'iPolis.store.journalStore');'を含めて、そのjournalStoreクラスのオブジェクトを作成するのですか? – Akshatha

1

は、あなただけの

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