Показать сообщение отдельно
  #1 (permalink)  
Старый 21.01.2015, 12:11
Новичок на форуме
Отправить личное сообщение для Екатерина Машковская Посмотреть профиль Найти все сообщения от Екатерина Машковская
 
Регистрация: 21.01.2015
Сообщений: 3

Связь чекбоксов с grig
Добрый день. у меня тут возникла проблема.
У меня не получается настроить фильтрацию таблицы в зависимости от выбранного чекбокса.


Вот структура проекта

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]
    });
});

Последний раз редактировалось Екатерина Машковская, 21.01.2015 в 12:30.
Ответить с цитированием