需要帮助Extjs Dataview

时间:2011-11-04 12:59:48

标签: extjs dataview

我正在尝试使用ExtJS dataview(TPL)

但效果不佳。我找不到任何错误..

有人知道我的错误吗?

代码:

var testPanel = new Ext.Panel({
    border: true,
    height: 400,
    layout : 'fit',
    items : [
        {html : "Print me"}, // ! It print OK
        new Ext.DataView({ // It does not show up!
        store: this.store,
        itemSelector: 'div.showme',
        autoHeight: true,
        tpl : new Ext.XTemplate(
        '<div>HELLO</div>',
        '<tpl for=".">',
            '<div class="showme">',
            '<div>{myData}</div>',
            '</div>',
        '</tpl>'
        ),
        emptyText : 'No Data' // even not print this!
    })],
    store : new Ext.data.JsonStore({
        url : '<?php echo url_for('test.php'); ?>', // It bring data ok.
        fields : [
            {name : 'myData'}
        ]
    }),
    redraw : function(para){
        this.store.load({
        params : {
            para : para
        }
        })
    }
});

谢谢!

1 个答案:

答案 0 :(得分:3)

没有必要将商店放在面板上,您应该将商店直接放在数据视图上。在此行store: this.store,中,当您创建对象时,this.store将是未定义的。

new Ext.DataView({ // It does not show up!
    store: new Ext.data.JsonStore({
        url: '<?php echo url_for('
        test.php '); ?>', // It bring data ok.
        fields: [{
            name: 'myData'
        }]
    }),
    itemSelector: 'div.showme',
    autoHeight: true,
    tpl: new Ext.XTemplate(
        '<div>HELLO</div>',
        '<tpl for=".">',
        '<div class="showme">',
        '<div>{myData}</div>',
        '</div>',
        '</tpl>'),
    emptyText: 'No Data' // even not print this!
});