Available only in PRO Edition
Webix DataTable позволяет выделять области данных. Как и в Excel, вы можете кликнуть на ячейку таблицы и потянуть указатель мыши. Область будет выделена и окрашена в серый.
Если вы отпустите указатель мыши, выделение останется, и ячейки будут отделены рамкой со значком, обозначающим возможность растягивания области:
Чтобы включить выделение в DataTable, задайте значение true свойству areaselect:
{
view:"datatable",
id: "table",
columns:[
{ id:"rank", header:"", css:"rank", width:50},
{ id:"title", header:"Film title", width:200},
{ id:"year", header:"Released", width:80},
{ id:"votes", header:"Votes", width:120},
{ id:"rating", header:"Rating", width:80},
],
areaselect:true, data:small_film_set
}
Выделение области работает только когда отключены другие типы выделения. Т.о. свойство select не должно быть задано.
Чтобы обновить выделенную область, используйте метод refreshSelectArea.
$$("dtable").refreshSelectArea();
Related sample: Area Selection
Вы можете применить пользовательскую область выделения в DataTable.
Используйте метод addSelectArea:
$$("dtable").addSelectArea(start,end,preserve);
Параметры метода:
Первые три параметра обязательны.
Чтобы удалить выделенную область, используйте метод removeSelectArea:
$$("dtable").removeSelectArea();
Чтобы удалить определенную выделенную область, передайте ее имя в качестве параметра метода removeSelectArea(). Если имя не передано, метод удалит последнюю безымянную область.
Чтобы вернуть выделенную область, используйте метод getSelectArea. Метод возвращает объект выделенной области.
var area = $$("dtable").getSelectArea();
Объект определенной выделенной области может быть получен путем передачи имения области как параметра. Без параметра метод вернет объект последней выделенной области.
Возвращенный объект будет содержать обязательные параметры: start, end и preserve и необязательные: area_name, css и handle. Подробне.
DataTable позволяет выделять сразу несколько областей:
Чтобы включить множественное выделение областей, задайте значение true свойству multiselect:
{
view:"datatable",
id: "table",
columns:[
{ id:"rank", header:"", css:"rank", width:50},
{ id:"title", header:"Film title", width:200},
{ id:"year", header:"Released", width:80},
{ id:"votes", header:"Votes", width:120},
{ id:"rating", header:"Rating", width:80},
],
areaselect:true,
multiselect:true, data:small_film_set
}
Если в вашей таблице несколько выделенных областей, вы можете получить все из них сразу с помощью метода getAllSelectAreas:
var areas = $$("dtable").getAllSelectAreas();
Метод возвращает объект с конфигурацией всех выбранных областей в таблице. Подробнее.
Related sample: Area Selection
Несколько полезных быстрых клавиш для выделения области ячеек:
Проверить свои знания на практике вы можете по ссылке.
Наверх