2011-07-06 17 views
1

私はユーザー名とパスワードを覚えておくためのローカルストアとモデルを作成している現れて続けていますユーザーがユーザー名とパスワードを保存したい場合は、この関数が呼び出されます。削除されたレコードは

function setLocalUsernameAndPassword(localUsername, localPassword, bStoreUsernameAndPassword) 
{ 
    removeLocalUsernameAndPassword(false); // Remove all previous inputs (Should just be one) 
    ToolbarDemo.stores.localsettingsstore.add({username: localUsername, password: localPassword, storeUsernamePassword: bStoreUsernameAndPassword}); 

} 

ストアは自動ロードと自動保存に設定されているため、ストアで.sync()を実行する必要はありません。ユーザーはユーザー名とパスワードを格納しないことを選択した場合

、私は呼び出すことにより、ストアからすべてのレコードを削除します。

function removeLocalUsernameAndPassword(bClearFields) 
{ 
    //ToolbarDemo.stores.localsettingsstore.removeAll(); 
    ToolbarDemo.stores.localsettingsstore.each(function(record) 
    { 
     console.log("Removing " + record.data.username); 
     ToolbarDemo.stores.localsettingsstore.remove(record); 
    }); 

    if(bClearFields) 
    { 
     Ext.getCmp("usernameField").value = ""; 
     Ext.getCmp("passwordField").value = ""; 
     Ext.getCmp("checkboxStoreUserInfo").checked = false; 
    } 

} 

はその後、私は店が空であることを見ることができますが、私は(ページを更新する場合もう一度アプリを起動してください)、すべてのレコードが保存されているレコードを戻します。

これを正しく行うために私が紛失しているものは誰でも見ることができますか?

ありがとうございます。

答えて

1

私はついにexactly the same problemの男を見つけました。 ソリューション:

"id"という名前のフィールドを追加し、 "int"と入力する必要があります。 これにより、senchaはレコードを削除できます。

Ext.regModel('UserSettings', { 
    fields: [ 
     {name: 'id', type: 'int'}, 
     {name: 'username', type: 'string'}, 
     {name: 'password', type: 'string'}, 
     {name: 'storeUsernamePassword', type: 'boolean'} 
    ] 
}); 

これを実行した後、各更新の後にstore.save()を実行する必要がありました。