Redraw Kendo UI DataVizChart, когда устройство переворачивается
Я разрабатываю небольшое приложение для своей компании, чтобы визуализировать некоторые бизнес-данные. Для этого я использую Kendo UI mobile с виджетами DataViz. Теперь я понял, что все приложение настраивается при переключении устройства (например, из режима porttrait в альбомный режим), но не компоненты DataViz. Я пытался отреагировать на событие изменения размера окна, но это не помогло. Как я знаю, вы хотите увидеть некоторый код, вот и вы:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, target-densitydpi=device-dpi" />
<link href="css/kendo.common.min.css" rel="stylesheet" />
<link href="css/kendo.default.min.css" rel="stylesheet" />
<link href="css/kendo.mobile.all.min.css" rel="stylesheet" />
<script src="cordova.js"></script>
<script src="js/jquery.min.js"></script>
<script src="js/kendo.all.min.js"></script>
<script src="js/kendo.dataviz.mobile.min.js"></script>
</head>
<body>
<div id="home" data-role="view" data-layout="main">
<ul data-role="listview" data-style="inset" data-type="group">
<li>
General Overview
<ul>
<li data-icon="toprated"><a href="#orderentry">Order Entry</a></li>
</ul>
</li>
</ul>
</div>
<div id="orderentry" data-role="view" data-layout="sub">
<ul id="oe-buttongroup">
<li>Standard</li>
<li>Ecom</li>
</ul>
<div id="oe-chart"></div>
</div>
<section data-role="layout" data-id="main">
<header data-role="header">
<div data-role="navbar">
<img src="img/also_holding_2013.png">
Live
</div>
</header>
</section>
<section data-role="layout" data-id="sub">
<!--View content will render here-->
<!--<footer data-role="footer">
<div data-role="tabstrip">
<a href="#home" data-icon="globe">Home</a>
</div>
</footer>-->
<header data-role="header">
<div data-role="tabstrip">
<a href="#home" data-icon="globe">Home</a>
</div>
</header>
</section>
<script>
var app = new kendo.mobile.Application(document.body,
{
transition:'slide'
});
var orderentry = new kendo.data.DataSource( {
data: [
{
"category": "Orders",
"value": 5898
}, {
"category": "Positions",
"value": 23756
}, {
"category": "Customers",
"value": 2026
}
]
});
var oechart = $("#oe-chart").kendoChart({
title:[{
text: "Order Entry"
}],
series: [{
field: "value"
}],
categoryAxis: {
field: "category"
}
});
oechart.data("kendoChart").setDataSource(orderentry);
</script>
</body>
</html>
1 ответ
Ты можешь использовать chart.redraw
для запуска перерисовки всякий раз, когда вам это нужно.
oechart.data("kendoChart").redraw();