Возможно, это может быть глупый вопрос, который я снова отправляю, и я новичок в Extjs. Я создал 2 вкладки, которые дополнительно включают сетку в каждой из них. Я могу получить данные и добавить их в соответствующие хранилища, но после щелчка по другому виджету или отмены выбора виджета и повторного выбора того же виджета сетка не отображает никаких данных, даже если хранилище содержит записи.
Вот часть кода, в которой я создаю вкладки и включенную в него сетку.
{
title : '<b>Data Filters</b>',
defaults : {
border : false
},
items : [ {
defaults : {
border : false
},
items : [ {
// xtype : 'combo',
// fieldLabel : 'Filter Join Type',
// reference : 'dataFilterJoinType',
// store : [ 'AND', 'OR' ],
// hidden : true,
// defaultAlign : 'r-c',
// listeners : {
// select : 'setFilterOnWidget'
// }
xtype : 'radiogroup',
fieldLabel : 'Filter Join Type',
reference : 'datafilterjointype',
items : [ {
boxLabel : 'AND',
name : 'joinType',
inputValue : 'AND'
}, {
xtype : 'tbspacer',
width : '50px'
}, {
boxLabel : 'OR',
name : 'joinType',
inputValue : 'OR'
} ],
hidden : true,
// defaultAlign : 'r-c',
margin : '10 0 10 5',
listeners : {
change : 'updateFilterOnTypeChange'
}
} ]
}, {
xtype : 'tabpanel',
deferredRender : true,
reference : 'datafilterpropertygrid',
border : false,
items : [ {
title : 'Data filters',
items : [ {
xtype : 'datafiltergrid',
reference : 'datafiltergrid',
deferredRender : true,
}, {
xtype : 'datafilterpropgrid',
reference : 'datafilterpropgrid',
hidden : false,
deferredRender : true,
} ]
},
{
title : 'List filters',
items : [ {
xtype : 'listfiltergrid',
reference : 'listfiltergrid',
deferredRender : true,
}, {
xtype : 'listfilterpropgrid',
reference : 'listfilterpropgrid',
hidden : false,
deferredRender : true,
} ]
} ] ,
} ]
}
А вот часть кода, где я заполняю данные в хранилище и отображаю сетку:
setListFiltersOnWidgetSelection : function(widget) {
var filterJoinType = this.lookupReference('datafilterjointype'), //
filterGrid = this.lookupReference('listfiltergrid'), //
filterPropGrid = this.lookupReference('listfilterpropgrid');
filterJoinType.show();
filterGrid.show();
filterPropGrid.hide();
filterPropGrid.sourceConfig.targetBindingEditor.field.getStore().loadData(
widget.getDesignMode().visibleBindingStore.getRange());
filterPropGrid.setDefaultProperties();
// filterPropGrid.showButtons(false);
if (widget.listFilter) {
filterGrid.getStore().loadData(widget.listFilter.filters);
filterJoinType.suspendEvents();
filterJoinType.setValue({
joinType : widget.listFilter.filterJoinType
});
filterJoinType.resumeEvents();
} else {
filterJoinType.setValue({
joinType : 'AND'
});
filterGrid.resetStore();
}
filterGrid.getView().refresh();
filterGrid.addEmptyRow();
},
filterGrid
- это сетка, в которую я загружаю данные и пытаюсь отобразить.
Проблема, с которой я сталкиваюсь, заключается в том, что когда я выбираю виджет в пользовательском интерфейсе, я вижу записи, но когда я выбираю другой виджет или щелкаю, и я возвращаюсь, я не вижу записи, даже если Сетка отображается с загруженным магазином. Что может быть причиной такого поведения?
Буду очень признателен за вашу помощь и большое спасибо заранее.