Тултипы для DataTable задаются несколько иначе, чем для других компонентов.
Чтобы задать тултип по умолчанию для всех столбцов, установите tooltip:true. Тултип по умолчанию показывает значение ячейки, на которую указывает курсор мыши.
Тултип для DataTable
webix.ui({
view:"datatable",
tooltip:true,
columns:[
{ id:"name", header:"Name" },
{ id:"age", header:"Age" }
],
data:[
{ id:1, name:"Ann", age:25 },
{ id:2, name:"Tom", age:27 }
]
});
// например, тултип для первого столбца первой строки в "Ann"
Вы также можете задать тултип для всех столбцов как функцию. Внутри объекта common вы можете получить доступ к настройкам соответствующего столбца и показать нужный тултип.
webix.ui({
view:"datatable",
tooltip:function(obj, common){
//obj - row object
//common.column - configuration of related column
return "<i>" + obj[common.column.id] + "</i>";
},
columns:[
{ id:"name", header:"Name" },
{ id:"age", header:"Age" }
]
});
Related sample: Tooltips - Advanced Initialization
Вы можете настроить тултип для каждого столбца. Например, вы можете добавить текст и стиль. Для этого вам нужно задать тултипы столбца как темплейт или функцию.
tooltip:false
.webix.ui({
view:"datatable",
tooltip:true,
columns:[
{
id:"name", header:"Name",
tooltip:"<span class='name_column_tip'>My name is #name#. I'm #age#.</span>"
},
{ id:"age", header:"Age", tooltip:false }
],
data:[
{ id:1, name:"Ann", age:25 },
{ id:2, name:"Tom", age:27 }
]
});
// тултип для первого столбца первой строки будет "My name is Ann. I'm 25."
webix.ui({
view:"datatable",
tooltip:true,
columns:[
{
id:"name", header:"Name",
tooltip:function(object){
return "My name is " + obj.name + ". I'm " + obj.age + ".";
}
},
{ id:"age", header:"Age" }
],
data:[
{ id:1, name:"Ann", age:25 },
{ id:2, name:"Tom", age:27 }
]
});
Обратите внимание что тултип заданный для столбца переопределяет тултип заданный для всей таблицы.
Чтобы задать тултип только для определенного столбца, установите свойство тултипа для Datatable ак { template:"" }
и поместите настройку tooltip:false
для каждого выбранного столбца:
{
view:"datatable",
columns:[
{ id:"title", fillspace:true, tooltip:true, header:"Film title" },
{ id:"year", header:"Year"},
{ id:"votes", header:"Votes"}
],
tooltip:{template:""},
data:grid_data
}
Вы можете добавить Webix Tooltip для хедера и футера DataTable.
Тултипы для хедера могут быть определены как:
webix.ui({
view:"datatable",
footer:true, tooltip:true,
columns:[
{
id:"title", width:200,
header:{ text:"Film", tooltip:true }
},
{
id:"year", width:80,
header:{ text:"Year", tooltip:"Release date is #text#" }
},
{
id:"votes", width:100,
header:{ text:"Votes", tooltip:function(obj){ return obj.text; } },
footer:{ content:"summColumn", tooltip:"Votes sum" }
}
],
data:some_data
});
Related sample: Tooltip:: Datatable
Внутри тултип-функции вы можете обратиться к объекту конфигурации хедера/футера.
Если у вас есть фильтр или другой элемент содержимого в этой строке, вы можете получить его с помощью метода getHeaderContent по ID как obj.contentId и указать его текущее значение для тултипа:
webix.ui({
view:"datatable", id:"dt",
footer: true, tooltip:true,
columns:[
{
id:"votes", header:[{text:"Votes", rowspan:2, tooltip:"#text#"}, ""],
width:100, footer:{
content:"summColumn",
tooltip:function(obj){
var value = $$("dt").getHeaderContent(obj.contentId).getValue();
return "Total value: " + value;
}
}
}
]
});
Related sample: Tooltip:: Datatable
Если в столбце Datatable есть спарклайн, тултип по умолчанию будет также отображать этот спарклайн. Вы можете изменить тултипы и, например, показывать в них значения пунктов спарклайна:
webix.ui({
view:"datatable",
data:[
{ id:1, name:"Austria", income:[710, 780, 390, 660, 600] },
{ id:2, name:"France", income:[810, 500, 780, 800, 940] }
],
tooltip:true,
columns:[
{
id:"income", header:"Income per Month",
template:"{common.sparklines()}", width:200,
tooltip:function(obj,common,value){
return value || "";
}
}
]
});
Тултип-функция в этом случае получает 3 параметра:
Related sample: Tooltip:: Datatable Sparklines
Наверх