【问题标题】:Sencha Touch 2 store get recordSencha Touch 2商店获得记录
【发布时间】:2013-03-19 18:50:57
【问题描述】:

我有问题。

我有 2 个商店文件(1 个活动和 1 个地点)。我正在从数据库中加载这些商店。现在的问题是,在事件存储中有一个名为 {id_place} 的字段。该字段包含一个数字,该数字也是位置存储中的数字。现在我需要做的是从 {id_place} 的位置获取名称。所以 {name} 是位置存储中的一个字段。所以我需要一个从另一家商店获取记录然后从该商店获取{name}的函数。所以我将 id_place 发送到 placestore,然后我需要找到具有该 id 的记录,并且我需要从该记录中获取字段 {name}。我不知道我是否有道理,这有点难以解释。我希望这可以做到。

提前致谢!

编辑:

showPlace: function(id_place){
                var placeUrl = 'http://admin.hishanghai.info/sencha/places.php?action=read&callback=callback&id=' + id_place;
                store = new Ext.data.Store({
                    model: 'android.model.Placesmodel',

        autoLoad: true,
                    proxy: {
                        type: 'scripttag',
                        url: placeUrl,
                        reader: {
                            type: 'json',
                            rootProperty: 'place'
                        },
                        extraParams: {
                            action: 'read'
                        }
                    }

                })
                //var naam = Ext.getStore('Placesstore').getById('id_place').get('name')
                //var Record = store.getAt(id_place);
                //var naam = store.getById('id_place').get('name');
                var naam = store.get('name');
                return naam;

                 }

此代码使用来自 1 条记录的信息创建一个商店。现在我只需要访问名称字段。我该怎么做?

【问题讨论】:

    标签: extjs get touch store record


    【解决方案1】:

    找到了:

     showPlace: function(id_place){
                var placesstore = Ext.getStore('Placesstore');
                var i =0;
                var placeid = 0;
                var aRecord;
                while(placeid != id_place){
                    aRecord = placesstore.getAt(i);
                    placeid = aRecord.data.id;
                    i+=1;
                    }
                var naam = aRecord.data.name;
                return naam;
                 }
    

    【讨论】: