Программное выключение и включение скроллбара в DataTable

Здравствуйте.
Возникла необходимость самостоятельно программно управлять наличием горизонтального скролла.

при задании таблицы он по-дефолту включён:
scrollX:true

в таблице заданы столбцы с изменяемой шириной: resizeColumn:true,

Задача:
включать-выключать горизонтальный скролл в зависимости от ширины таблицы. (как получать ширину таблицы, событие onColumnResize и т.д. это всё понятно).
я прошу корректный код - как выключить отображение скролла и как включить отображение скролла.

p.s. у меня есть работающее решение, но у меня есть основания думать, что это у меня очень кривой и плохой код… Очень хотелось бы услышать мнение профи на этот счёт.
спасибо.

p.p.s. не нашёл на форуме указания, какой язык предпочтительней, поэтому позволил себе (не первый раз) создать тему на русском. Это приемлемо?

Здравствуйте! Для pro-версии есть элемент CustomScroll, обладающий нужными свойствами:

http://webix.com/snippet/4f1ed0a3

Создание другого решения подразумевает наличие тикета в Member’s Area. Поскольку у Вас уже есть кастомный код - Вы можете задавать здесь более конкретные вопросы, если что-то работает не так, как ожидается.

Указаний как таковых нет, но на форуме лучше всего использовать английский.

Спасибо за ответ.

Код, который “работает”, выглядит примерно так:

dtable._settings.scrollX=false;
dtable._update_scroll();

но что-то мне подсказывает, что я лезу туда, куда меня не приглашали и использую напрямую вызов метода, который не предназначен для внешнего обращения. Сие есть кривизна и костыли…

Насчёт pro-версии я понял, спасибо, буду иметь в виду.
И насчёт языка тоже учту на будущее.

В данном случае, возможно, лучше использовать метод define:

dtable.define({scrollX:false});
dtable.refreshColumns();

http://webix.com/snippet/868d2ae6

спасибо за внимание к моей теме и совет!

да, define, конечно же лучше, буду его использовать.
Спасибо!

Небольшой комментарий к предложенному решению.
От метода refreshColumns() я был вынужден отказаться (я его сразу же нашёл и попробовал применить),
он каким-то образом влияет на ширину колонок.
Попробуйте в вашем примере сделать resizeColumn:true,
уменьшить до минимума первый столбец и нажать на кнопочку…

Кроме того, у меня возникло чувство, что когда вызываешь метод refreshColumns() внутри обработчика onColumnResize, то возникают проблемы с тем , что ширину некоторых колонок невозможно изменить (метод рефреша сбрасывает эти изменения).

Короче, у меня с ним не задалось…

Это решается при помощи метода setColumnWidth(), который не требует отдельной перерисовки.

В целом, реализация будет такой: http://webix.com/snippet/3868a73d

Где методы block/unblockEvent() необходимы для того, чтобы избежать зацикливания при ресайзе колонки.

Спасибо!!!