Хобрук: Ваш путь к мастерству в программировании

Динамическое добавление и удаление группировщика магазина

Я использую хранилище для отображения некоторых данных в списке. В магазине есть группировщик на одном экране и нет группировщика на другом экране. Могу ли я динамически добавлять и удалять группировщик в магазине. Спасибо за все виды поддержки.

Это код:

Ext.define('MyApp.store.mystore', {

extend: 'Ext.data.Store',
requires: ['Ext.data.proxy.LocalStorage'],
config: {
    identifier: {
        type: 'uuid',
    },
    fields: [
        {name: 'Fname', type: 'string'},
        {name: 'Lname', type: 'string'}

    ],
    remoteSort: true,
    /* grouper: {
     groupFn: function(record) {
     if(localStorage.getItem('mainCategory')=='CONSOLIDATE REPORT')
     return record.get('mainCategory');
     else
     return record.get('category_name');
     }
     },*/
    // groupField: ['Fname'],
    proxy: {
        type: 'localstorage',
        id: 'myyystore'
    }
}

});

В моем списке сейчас нет группового свойства.

Мое требование - отображать список с группером (Fname) на одном экране и без группера на другом экране.


Ответы:


1

Вы можете иметь два разных Ext.List и управлять сгруппированный конфиг.

Или вы можете просто передать его при создании экземпляра:

var list = Ext.create('Myapp.view.MyList');
list.setGrouper(true);

or

myMainNavigation().push({
    xtype: 'my-list',
    grouped: true
});

Надеюсь, поможет-

09.01.2014
  • Спасибо за ответ. Но в магазине сейчас нет группировщика. Можем ли мы динамически установить группировщик магазина. Так как мне нужен сгруппированный магазин на одном экране 10.01.2014
  • Имейте в виду, что и список, и хранилище имеют свою сгруппированную конфигурацию. Таким образом, вы можете сохранить свой магазин сгруппированным, и он не будет отображаться как сгруппированный, если вы установите grouped: false в СПИСОК. 13.01.2014

  • 2

    Внутри представления, куда вы добавляете список, который вы хотите сгруппировать, и
    внутри метода инициализации представления добавьте:

    var store = this.down('.list').getStore();
    
    store.sort({
        groupFn: function(record) {
            var isReport = (localStorage.['mainCategory'] === 'CONSOLIDATE REPORT');
    
            return record.get(isReport ? 'mainCategory' : 'category_name');
        }
    });
    
    31.08.2014
    Новые материалы

    Создание кнопочного меню с использованием HTML, CSS и JavaScript
    Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

    Внедрите OAuth в свои веб-приложения для повышения безопасности
    OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

    Классы в JavaScript
    class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

    Как свинг-трейдеры могут использовать ИИ для больших выигрышей
    По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

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

    Обзор: Машинное обучение: классификация
    Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

    Разработка расширений Qlik Sense с qExt
    Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..