插入sencha touch数据存储

时间:2011-05-20 07:05:56

标签: sencha-touch extjs

有人可以解释插件如何在数据存储中添加记录 与tha领域:“标题”,“信息”和“价格”? 因为我尝试了一些东西,但没有一个能奏效。并且sencha网站没有说清楚。

4 个答案:

答案 0 :(得分:9)

将新项目添加到现有商店实际上并不难。

首先,您需要配置您的模型和商店。在您的问题中,您可以将字段命名为“标题”,“信息”和“价格”。

型号:

Ext.regModel('myModel', { 
    fields: [
        {name: 'id', type: 'int' },
        {name: 'title', type: 'string' },
        {name: 'info', type: 'string' },
        {name: 'price', type: 'int' }           
    ]
});

接下来,根据上述模型配置将保存数据的商店。我认为,在你的情况下,它应该是一个没有任何数据预加载的模型,例如,JSON?

因此,我们制作一个localstorage(空商店)。商店由模型(myModel)组成,您为其提供storeID(以便稍后可以通过此ID引用商店)。代理是localstorage,Store的唯一ID将是Model的ID字段。

商店:

    var myStore = new Ext.data.Store({ 

        model: "myModel",
        storeId: "myStoreID",
        proxy: {
            type: "localstorage",
            id: "id"            
        }
    });

现在,假设您有某种形式(用户可以在其中添加标题,信息和价格的输入,并且您希望在提交时将这些项目添加到现有商店。

在提交按钮的处理程序中,您现在必须“调用”商店,并在其上执行添加功能。在此添加功能中,您必须定义参数(模型参数)和要插入的数据。

下面我使用了固定数据和变量的混合来插入。

myStoreID.add({ title: "Mijn Titel", info: "Informatie, price: prijsvar });

现在将填充商店,现在将填充您可以使用的额外数据记录。让我们说例如商店附加到数据视图,然后您可以执行:

dataView.update();

以上不是完整的教程,但我认为这会对你有帮助吗?

答案 1 :(得分:0)

只是YDL答案的更新。 根据dataView应该与更新的商店相关,不应该使用最后一句dataView.update(),因为它在更改时会自动更新与商店相关的视图。

new Ext.DataView({
    store: MyStore,
    itemSelector: 'div.thumb',
    tpl: thumbTpl
});

稍后,如果我执行以下操作,则新项目应显示在以MyStore作为商店的视图(List,DataView等)中。

MyStore.add(newItem);

HTH。 米尔顿罗德里格斯。

答案 2 :(得分:0)

如果您尝试传入从表单上的getValue()返回的对象,请确保运行

myStore.sync(); 

调用add()方法后,或者在浏览器本地商店中看不到它。

答案 3 :(得分:0)

很容易尝试这些

//首先获取这些值并存储在本地

     var A_select1=Ext.getCmp('select1').getValue();  // get value

      localStorage.setItem("Adult1_select1",A_select1); // set localStore


      var AdultSalutation={

                     'Adult1_select1':A_select1,    // assign the value                                                   

            };                                       

    var AdultSalutationstore = Ext.getStore('Adult_AdultSalutationstore'); // get store

        AdultSalutationstore.add(AdultSalutation);  // add object   

        AdultSalutationstore.sync();    // sync 

        AdultSalutationstore.load();    // load