Невозможно удалить ExtJs GridPanel из панели ExtJs - PullRequest
1 голос
/ 12 октября 2010

У меня есть панель, которая начинается с пустой коллекции предметов.В ходе применения становится необходимым добавить GridPanel в Panel.Кажется, это работает нормально.

В какой-то другой точке приложения становится необходимым удалить GridPanel и добавить еще один.Я пробовал несколько способов очистить содержимое панелей, но без радости.

Итерирование по коллекции элементов и вызов disable() не работает.

Вызов items.removeAt(index) неработа.

Вызов removeAll(true) не работает.

Сетка остается там и видна, все еще выбрасывая все те же события.Если я пройду процедуру загрузки сетки, отображается только одна сетка.Но требования приложения таковы, что сетка должна быть очищена при изменении критериев для данных, заполнивших сетку.

Ответы [ 3 ]

1 голос
/ 12 октября 2010

Мне кажется, я решил свою проблему.

Вызов remove(itemName, true) кажется уловкой.

Хотя мне было бы любопытно, если бы кто-нибудь мог подсказать, почему removeAll(true) не работает.

0 голосов
/ 24 января 2012

Это то, что я сделал для одного из моих дополнительных проектов

click: function () {
    var tempRef = Ext.getCmp("createPanel");

    tempRef.remove(Ext.getCmp("step2"),false);
    tempRef.doLayout();
    tempRef.update();

    tempRef.insert(1,Ext.getCmp("step1"));
    tempRef.doLayout();

    Ext.getCmp("backButton").disable();
    Ext.getCmp("backNext").enable();
}

Это код для одной из моих кнопок.

0 голосов
/ 12 октября 2010

Как вы добавляете GridPanel? Вы можете hide() GridPanel в замыкании, которое вы создаете, и добавить его. Или вы можете попробовать вызвать remove(panel) с объектом GridPanel в родительском компоненте. Я думаю, disable() также не скрывает GridPanel, IIRC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...