@marsdenden

Ext JS 6.2.0 Classic, как управлять полосой прокрутки Ext.grid.Panel?

Суть - создаю простой грид на две колонки, заполняю некоторыми данными и получаю отсутствие полосы прокрутки в определенных ситуациях.
К примеру, если грид назначить главным вью - все нормально. Даже если хранилище получит с сервера 3-5 тыс. записей - ничего не тормозит, при прокрутке динамически создаются/убираются неактуальные элементы DOM и все работает замечательно.

Пример в песочнице https://fiddle.sencha.com/#view/editor&fiddle/2b0h

Но если грид является вложенным в какую либо панель, то получается совсем другой алгоритм - грид создается максимальной высоты - хоть 20000 пикселей, при этом создаются сразу все элементы DOM для каждой записи, не глядя - три их там или три тысячи, отсутствует полоса прокрутки и все прилично тормозит при большом наборе данных.
https://fiddle.sencha.com/#view/editor&fiddle/2b18
прокручивать при этом можно только с клавиатуры, перемещая выделение в таблице, при этом заголовок таблицы уползает наверх и вернуть его обратно проблематично

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

Как заставить грид вести себя одинаково и в качестве главного вида и во вложенном состоянии?
  • Вопрос задан
  • 585 просмотров
Решения вопроса 1
@marsdenden Автор вопроса
и опять форум сенча вне конкуренции! Помогли решить вопрос практически мгновенно ))
а именно - в секции, описывающей центральную панель, в которую помещается грид надо прописать layout:"fit" и убрать явное задание высоты и ширины
{
        region:"center",
        collapsible:false,
        items: [{
            xtype: 'clientslist'
        }],
        layout: "fit",
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@catsmeatman
Ого, кто-то еще Ext пользуется в 2022 году
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы