Вы можете назначить любое поведение различным событиям DataTable, используя систему задания обработчиков событий.
Есть два способа задать обработчик событию:
Имена событий не чувствительны к регистру
Вы можете задать несколько обработчиков одному событию:
Общий способ задать/удалить обработчик события
// обработать событие
var myEvent = $$("dataTableId").attachEvent("onItemClick", function(){
// код обработчика
});
Этот обработчик события не удаляется вместе с компонентом. Его необходимо удалить с помощью метода detachEvent():
// удалить обработчик события
$$("dataTableId").detachEvent(myEvent);
С помощью параметра on вы можете задать обработчик события во время инициализации компонента. Эти обработчики нельзя удалить вручную, они удаляются автоматически вместе с компонентом.
Задать обработчик события с помощью 'on'
webix.ui({
view: "dataTable",
...
on: {
onItemClick(){
alert("item has just been clicked");
}
}
});
Все события с префиксом 'onBefore' можно использовать для отмены соответствующего действия, если из обработчика вернуть false:
Отмена клика по вкладке
var myEvent = $$("dataTableId").attachEvent("onBeforeTabClick", function(){
... // код обработчика
return false;
});
Если обработчик - это простая функция, this указывает на владельца события (компонент, который вызвал attachEvent() или содержит параметр on).
Большинство обработчиков получают входящий аргумент (или несколько). Например, событие onAfterSelect передает id строки таблицы (полный список передаваемых аргументов вы найдете [тут](ui.datatable to find all)).
Ссылка внутри обработчика события
$$("myTable").attachEvent("onafterselect", function(id) {
// получает имя поля выбранного элемента данных
var name = this.getItem(id).name;
$$("top_label").setValue(name)
});
Наверх