EXTJS,如何使用PHP创建的JSON数据为XTemplate创建数据

时间:2012-02-04 13:27:49

标签: extjs

我有一个包含JSON类型数据的php变量。

$list = [{"id":"10","first_name":"first","mi_name":"","last_name":"last","nick_name":"HH"}];

我需要使用EXT-JS XTemplate的日期。

我试过这种方式,

var myStore = <?php echo $list; ?>;

var myTpl = new Ext.XTemplate(
    "<div style='text-align:center'>",
    '<tpl for=".">',
        '<p> No : {#}</p>',
        '<p>{first_name} {$last Name}</p>',
    "</tpl>",
    "</div>",
    {}
);

var myPanel = new Ext.Panel({
    border : true,
    layout : 'fit',
    pageY : 10,
    items : new Ext.DataView({
        store : myStore,
        tpl : myTpl,
        autoHeight : true,
        emptyText : 'No Data'
    })
});

但它不起作用,

我也试过了,

var myStore = Ext.create('Ext.data.JsonStore', {
    autoLoad : true,
    data : <?php echo $list; ?>
});

它也不起作用。

所以我尝试使用代理获取数据。

var myStore = new Ext.data.JsonStore({
    proxy : new Ext.data.HttpProxy({
        url : './index.php?action=getList' //it return same to $list
    }),
    fields : [
        {name : 'first_name', type : 'string'},
    {name : 'last_name', type : 'string'}
    ],
    autoLoad : true
});

它有效!

嗯...

所以我的问题是如何使用JSON类型的php变量创建数据。 (如果可以的话,我不想使用代理来获取数据)

帮助我〜!

1 个答案:

答案 0 :(得分:1)

您的数据视图缺少必填配置“itemSelector

有关详细信息,请阅读sencha文档Sencha ExtJS 4 dataview