Kendo UI是带有jQuery、Angular、React和Vue库的JavaScript UI组件的最终集合,无论选择哪种JavaScript框架,都可以快速构建高性能响应式Web应用程序。通过可自定义的UI组件,Kendo UI可以创建数据丰富的桌面、平板和移动Web应用程序。通过响应式的布局、强大的数据绑定、跨浏览器兼容性和即时使用的主题,Kendo UI将开发时间加快了50%。
以下示例演示了当用户将鼠标悬停在Kendo UI PivotGrid小部件中的数据单元格元素时如何显示工具提示。
$(document).ready(function () {
$("#pivotgrid").kendoPivotGrid({
columnWidth: 120,
height: 570,
dataSource: {
data: products,
schema: {
model: {
fields: {
ProductName: { type: "string" },
UnitPrice: { type: "number" },
UnitsInStock: { type: "number" },
Discontinued: { type: "boolean"},
CategoryName: { field:"Category.CategoryName" }
}
},
cube: {
dimensions: {
ProductName: { caption: "AllProducts" },
CategoryName: { caption: "AllCategories" },
Discontinued: { caption: "AllDiscontinued" }
},
measures: {
"Sum": { field:"UnitPrice", format: "{0:c}", aggregate: "sum" }
}
}
},
rows: [{ name: "CategoryName",expand: true }, { name: "ProductName" } ],
columns: [{ name: "Discontinued",expand: true }],
measures: ["Sum"]
}
});
?
$(".k-grid-content").kendoTooltip({
filter: "td",
content: toolTip,
width: 400,
height: 100,
position: "top"
});
?
$(".k-grid-content").click(toolTip);
?
function toolTip(e) {
var target = $(e.target);
var grid =$("#pivotgrid").getKendoPivotGrid();
?
var cellInfo =grid.cellInfoByElement(target);
?
return kendo.template($("#template").html())({
rowText: generateName(cellInfo.rowTuple),
columnText:generateName(cellInfo.columnTuple),
value: cellInfo.dataItem.fmtValue
});
}
?
function generateName(tuple) {
var text = "";
var members = tuple.members;
?
for (var idx = 0, length = members.length;idx < length; idx++) {
text += members[idx].name;
?
if (members[idx + 1]) {
text += "->";
}
}
?
return text;
}
});