开发者

extjs multiselect list from json string

I am trying to create a multiselect list from json store, which is in this format

[{"photo_id":1,"file_name":"test.JPG","x":123,"y":456},{"photo_id":2,"file_name":"test2.JPG","x":321,"y":765}]

The multiselect list populates the rows but it doesn't show the file_name in the list

var storeVar = new Ext.data.Store({
   extend: 'Ext.data.Model',
   fields: ['photo_id', 'file_name'],
   data: store // contains the json string
});

and here is the multiselect box

Ext.create('Ext.form.Panel', {
bodyPadding: 10,
frame: true,
width: '100%',
items: [
    {
        anchor: 开发者_运维技巧'100%',
        displayField: 'file_name',
        valueField: 'photo_id',
        store: storeVar ,
        xtype: 'multiselect',
        fieldLabel: 'Select an image',
        allowBlank: false
    }
]
})


Grigor, you can use Ext.JSON.decode to decode your string in json format:

var storeVar = new Ext.data.Store({
    extend: 'Ext.data.Model',
    fields: ['photo_id', 'file_name'],
    data: Ext.JSON.decode(store) // contains the json
});

Here is demo


You are mixing the creation of the Store with the definition of a model: The line

extend: 'Ext.data.Model'

has no effects on a Store, check examples on documentation docs

I can't comment/edit on questions so I write it in a new answer.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜