2011-11-04 62 views
0

我正在使用ExtJS数据视图(TPL)需要帮助Extjs Dataview

但它不能正常工作。我找不到任何错误..

有人知道我做错了什么吗?

代码:

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 
     } 
     }) 
    } 
}); 

谢谢!

回答

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! 
}); 
+0

啊哈!非常感谢你! –