在初始化时防止extjs4的treegrid加载数据

时间:2011-08-15 05:24:32

标签: extjs extjs4

我正在使用EXTJS4的树形网格(Ext.tree.panel)。

我已经创建了一个模型和treestore来加载树数据,并将存储指定到treegrid,代码如下:

var complist = Ext.create('Ext.data.TreeStore', {
    model: PFSComponent,
    proxy: {
        type: 'ajax',
        url: 'getpfscomponents.php',
        reader: {
            type: 'json'
        }
    }
});

var compPanel = Ext.create('Ext.tree.Panel', {
    title: 'lowdisks',
    height: 300,
    collapsible: false,
    useArrows: false,
    rootVisible: false,
    multiSelect: false,
    singleExpand: false,
    region: 'south',
    store: complist,
    columns: [{
        xtype: 'treecolumn', //this is so we know which column will show the tree
        text: 'name',
        flex: 2,
        sortable: false,
        dataIndex: 'name'
    }, {
        text: 'type',
        dataIndex: 'type',
        flex: 1,
        sortable: false
    }, {
        text: 'device',
        dataIndex: 'devicename',
        flex: 1,
        sortable: false
    }, {
        text: 'mount',
        dataIndex: 'mount',
        flex: 1,
        sortable: false
    }]
});

页面加载时,treegrid会自动加载数据,效果非常好!

但现在我想在加载网格之前做一些检查数据库的事情。

所以我需要实现如下功能:

  1. 检查数据是否满足请求
  2. 如果是,则treegrid加载数据
  3. 或提醒用户
  4. 所以我的问题是如何在treegrid时阻止initialization加载数据?

    非常感谢!

1 个答案:

答案 0 :(得分:2)

在树加载器上使用beforeload事件。如果要取消树加载,请从false事件返回beforeload。您可以在此处编写用于检查DB的代码。