Добрый день. у меня тут возникла проблема.
У меня не получается настроить фильтрацию таблицы в зависимости от выбранного чекбокса.
Вот структура проекта
List.js
Ext.define('UserApp.view.user.List',
{
extend: 'Ext.grid.Panel',
alias : 'widget.userList',
store: 'User',
title : 'Список пользователей',
dockedItems: [{
xtype: 'pagingtoolbar',
store: 'User', // mismo que el store GridPanel
dock: 'bottom',
displayInfo: true
}],
initComponent: function() {
this.columns = [
{header: 'Имя Фамилия', dataIndex: 'name', flex: 1},
{header: 'Образование', dataIndex: 'education', flex: 1},
{header: 'Город', dataIndex: 'city', flex: 1}
];
this.callParent(arguments);
}
}
);
Ext.onReady(function(){
var checkboxGroup = new Ext.form.CheckboxGroup({
columns: 2,
fieldLabel: 'Образование',
name: 'education_check',
style: {
padding: '5px 10px 5px 10px'
},
items: [{
xtype: 'checkbox',
boxLabel: 'Среднее',
name: 'education_check',
id: '1',
handler: function() {
var checked = Ext.getCmp('1').getValue();
/*
что я только не пробовала вместо этого кода
if(checked)
{
if (grid.store!=undefined)
{
grid.store.filterBy(function(record)
{
return record. === '' ;
});
grid.getView().refresh();
}
}
else{
var grid = Ext.getCmp('');
grid.store.clearFilter(true);
grid.getView().refresh();
}
*/
}
},
{
xtype: 'checkbox',
boxLabel: 'Высшее',
name: 'education_check',
id: '2',
handler: function() {
}
},
{
xtype: 'checkbox',
boxLabel: 'Бакалавр',
name: 'education_check',
id: '3',
handler: function() {
}
},
{
xtype: 'checkbox',
boxLabel: 'Магистр',
name: 'education_check',
id: '4',
handler: function() {
}
}]
});
var checkboxGroup2 = new Ext.form.CheckboxGroup({
columns: 3,
fieldLabel: 'Город',
name: 'city_check',
style: {
padding: '5px 10px 5px 10px'
},
items: [{
xtype: 'checkbox',
boxLabel: 'Минск',
name: 'city_check',
inputValue: '1'
},
{
xtype: 'checkbox',
boxLabel: 'Брест',
name: 'city_check',
inputValue: '2'
},
{
xtype: 'checkbox',
boxLabel: 'Витебск',
name: 'city_check',
inputValue: '3'
},
{
xtype: 'checkbox',
boxLabel: 'Гомель',
name: 'city_check',
inputValue: '4'
},
{
xtype: 'checkbox',
boxLabel: 'Гродно',
name: 'city_check',
inputValue: '5'
},
{
xtype: 'checkbox',
boxLabel: 'Могилев',
name: 'city_check',
inputValue: '6'
}]
});
var panel = new Ext.Panel({
renderTo: Ext.getBody(),
width:400,
height:150,
items: [checkboxGroup,checkboxGroup2]
});
});