Предотвращение загрузки данных из дерева в extjs4 при инициализации - PullRequest
0 голосов
/ 15 августа 2011

Я использую сетку дерева EXTJS4 (Ext.tree.panel).

Я создал модель и хранилище деревьев для загрузки данных дерева, и указал хранилище на сетку дерева, код следующий:

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. или предупредить пользователя

Итак, мой вопрос, как запретить treegrid загружать данные, когда initialization?

Большое спасибо!

1 Ответ

2 голосов
/ 15 августа 2011

Используйте событие beforeload в загрузчике дерева. Верните false из события beforeload, если хотите отменить загрузку дерева. Вы можете написать код для проверки БД здесь.

...