2010-09-20 6 views
1

У меня есть компонент multiselect в Ext js 3. У меня есть несколько записей в нем. Теперь я хочу выбрать запись и прокрутить multiselect, чтобы сделать ее видимой для пользователя. Я могу выбрать запись, но я не могу прокручивать multiselect.scroll multiselect in extjs

Я использовал компонент dataview, и я выполняю эту функцию, используя следующую команду: dataviewObj.container.dom.scrollTop = (42 * index);

, но не может реализовать это многозадачность.

Может кто-нибудь, пожалуйста, скажите мне, как достичь этого с помощью мультиселектора ????

Большое вам спасибо за помощь.

ответ

0

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

  1. Открыть файл Multiselect.js в редакторе.
  2. Перейти к onRender метод Ext.ux.form.MultiSelect класс (объект).
  3. Найти блок создания кода FieldS (var fs ...)
  4. Добавить autoScroll:true в параметры конфигурации набора полей.

У меня был мультиселект с ~ 200 предметами в нем, и это работало как шарм.

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

+0

привет Большое спасибо за помощь , Я сделал изменения, как вы упомянули, но затем, как прокручивать выбранный элемент или конкретный индекс может быть ??? – user427969

+0

Я тоже внес эти изменения, но мой выбор не отображается. – mozgras

1

Нет необходимости редактировать сам внутренний код расширения.

Ext MultiSelect будет выполнять прокрутку из коробки. Вам просто нужно, чтобы убедиться, что вы добавили CSS, что ему нужно:

.ux-mselect{ 
    overflow:auto; 
    background:white; 
    position:relative; /* for calculating scroll offsets */ 
    zoom:1; 
    overflow:auto; 
} 

Полный набор правил CSS, чтобы включить в документ здесь:

http://dev.sencha.com/deploy/dev/examples/ux/css/MultiSelect.css

+0

Спасибо @Chris за ответ. Не могли бы вы привести пример прокрутки к определенному элементу или выбранному элементу? С уважением – user427969