作成日: 2018/05/22 最終更新日: 2018/07/25
文書種別
不具合
状況
修正済み
詳細
ControlExplorerのBarChartの「ドリルダウン」サンプルの手法をCompositeChartに適用した場合、ドリルダウンを繰り返すと描画の遅延が発生します。
本現象は、ツールチップの表示に起因した不具合です。
本現象は、ツールチップの表示に起因した不具合です。
回避方法
この問題は2018J v2(4.0.20182.291)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
下記のようなスクリプトの実装により、回避できます。
※問題の発生するコード(例)
<script type="text/javascript">
var test = [{
・・・省略・・・
}]
var test2 = [{
・・・省略・・・
}]
var chartClientId = "#<%=Chart.ClientID%>";
var drawBrands = function (e, data) {
$(chartClientId).c1compositechart("option", "click", drawVersions);
$(chartClientId).c1compositechart("option", "seriesList", test2);
}
var drawVersions = function (e, data) {
$(chartClientId).c1compositechart("option", "click", drawBrands);
$(chartClientId).c1compositechart("option", "seriesList", test);
}
$(document).ready(function () {
$(chartClientId).c1compositechart("option", "click", drawVersions);
$(chartClientId).c1compositechart("option", "seriesList", test2);
});
</script>
※回避コード(例)
<script type="text/javascript">
var test = [{
・・・省略・・・
}]
var test2 = [{
・・・省略・・・
}]
var chartClientId = "#<%=Chart.ClientID%>";
var __isTooltipEventBound = false;
var __testData = test2;
var drawChart = function (e, data) {
__testData = __testData == test2 ? test : test2;
$(chartClientId).c1compositechart("option", "seriesList", __testData);
}
$(document).ready(function () {
var chart = $(chartClientId).data('wijmoC1compositechart');
var bindTooltipFunc = chart._bindtooltip;
chart._bindtooltip = function () {
if (__isTooltipEventBound) return;
__isTooltipEventBound = true;
bindTooltipFunc.call(this);
};
$(chartClientId).c1compositechart({ "click": drawChart });
drawChart();
});
</script>
※修正版を適用しない場合の回避方法は以下の通りです。
下記のようなスクリプトの実装により、回避できます。
※問題の発生するコード(例)
<script type="text/javascript">
var test = [{
・・・省略・・・
}]
var test2 = [{
・・・省略・・・
}]
var chartClientId = "#<%=Chart.ClientID%>";
var drawBrands = function (e, data) {
$(chartClientId).c1compositechart("option", "click", drawVersions);
$(chartClientId).c1compositechart("option", "seriesList", test2);
}
var drawVersions = function (e, data) {
$(chartClientId).c1compositechart("option", "click", drawBrands);
$(chartClientId).c1compositechart("option", "seriesList", test);
}
$(document).ready(function () {
$(chartClientId).c1compositechart("option", "click", drawVersions);
$(chartClientId).c1compositechart("option", "seriesList", test2);
});
</script>
※回避コード(例)
<script type="text/javascript">
var test = [{
・・・省略・・・
}]
var test2 = [{
・・・省略・・・
}]
var chartClientId = "#<%=Chart.ClientID%>";
var __isTooltipEventBound = false;
var __testData = test2;
var drawChart = function (e, data) {
__testData = __testData == test2 ? test : test2;
$(chartClientId).c1compositechart("option", "seriesList", __testData);
}
$(document).ready(function () {
var chart = $(chartClientId).data('wijmoC1compositechart');
var bindTooltipFunc = chart._bindtooltip;
chart._bindtooltip = function () {
if (__isTooltipEventBound) return;
__isTooltipEventBound = true;
bindTooltipFunc.call(this);
};
$(chartClientId).c1compositechart({ "click": drawChart });
drawChart();
});
</script>
旧文書番号
82720