Иногда editor поля таблицы DataTable автоматически располагается на экране не лучшим образом (например, при использовании YAHOO.widget.DropdownCellEditor с очень длинными вариантами выбора может запросто вылезти за пределы экрана, вызвав появление горизонтальной прокрутки). Можно динамически корректировать его положение в момент его появления на экране (ведь статически задать его положение стилями не всегда возможно) следующим образом:
1) Подписаться на событие 'showEvent' editor`а:myDataTable.getColumn('myColumn').editor.subscribe('showEvent',myHandler)2) В myHandler editor будет доступен как this, что позволит манипулировать его стилями (например, сделать так, чтобы он расположился в 10 пикселях от правого края экрана):
this.getContainerEl().style.left = YAHOO.util.Dom.getViewportWidth() - YAHOO.util.Dom.getRegion(this.getContainerEl()).width-10 + "px";Надо иметь ввиду, что на момент генерации события 'showEvent' элемент на странице уже появился (это верно для FF, неверно для IE), что может повлиять на некоторые параметры (например, на ширину документа, если элемент вылезает за правый край).
Комментариев нет:
Отправить комментарий