2012-01-02 2 views
3

В нашем приложении у нас есть окно с сеткой и двумя кнопками - Очистить & Извлечь.ExtJS 4 - Grid Vertical ScrollBar issue

Пользователь может загрузить записи с сервера в сетке, нажав кнопку «Восстановить» и затем очистить хранилище сетки, нажав кнопку «Очистить».

Проблема в том, что иногда вертикальная полоса прокрутки не работает, когда пользователь загружает сетку во второй раз.

То есть, если пользователь сначала нажимает кнопку «Восстановить», чтобы загрузить записи, а затем использует «Очистить», чтобы очистить сетку - и снова нажимает «Восстановить», то второй раз вертикальная полоса прокрутки не работает в сетке.

Фактически вертикальная полоса прокрутки работает только в первый раз, а затем перестает работать, пока пользователь не перезагрузит всю страницу повторно, обновив окно браузера.

Самое странное, что этот вопрос не является «последовательным». То есть, эта проблема возникает только иногда, не делая ничего лишнего. Это те же кнопки Retrieve и Clear, которые нажаты, те же данные, которые поступают с сервера, но полоса прокрутки просто перестает работать, не вызывая ошибок.

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

Кто-нибудь сталкивался с подобной проблемой или кто-нибудь мог указать на что-то полезное, которое могло бы помочь в этом.

Некоторая информация об окружающей среде, я работаю в:

  • ExtJS версии - 4.0.7
  • Браузеры Проверено - IE8, IE9, FF4 +, Chrome10 +

ответ

6

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

grid.determineScrollbars(); 
2

я испытал проблемы с полосой прокрутки ExtJS (там, где она либо перестает работать, либо обрезается, либо не изменяется сама по себе), я не могу дать ничего конкретного без образца кода, но я обрабатывал его каждый раз, выполняя одно из следующих действий :

1) положить компонент обижая в окне просмотра (не будет работать для вашего окна, хотя)

2) установление определенной высоты в компоненте конфигурации

3) Изменение расположения конфигурации (либо форме или границы как представляется, работает)

Вы также можете попробовать yourGridPanel.doComponentLayout() с успешной загрузкой DataStore (когда выполняется ваш метод получения).

1

может быть, вы должны обновить ExtJS LIB до версии 4.1.1. Что касается меня 4.1.1 версия содержит исправления для некоторых проблем с сетчатыми полосами прокрутки, которые я решил, исправляя в 4.0.7.

+0

У меня такая же проблема. Как вы проходили путь от 4.0.7 до 4.1.1? Есть простой способ сделать это? – Chris