Infragistics igDataChart динамическое связывание

В моем приложении есть столбчатая диаграмма igdatagrid. Требуется обновить диаграмму в соответствии с изменением данных. на графике также есть Customtooltip на столбцах, которые можно увидеть при наведении курсора. Теперь, когда данные изменяются, диаграмма отображается, если подсказка не используется, но когда я использую подсказку, она показывает ошибку. изначально при загрузке моей страницы все работает нормально, но после обновления источника данных он показывает какую-то ошибку, это мой код JavaScript

$("#chart").igDataChart({
                               width: "98%",
                               height: "350px",
                               dataSource: jsonObj,
                               title: "Sector Comparison",
                               windowResponse: "immediate",
                               axes: [{
                                   name: "xAxis",
                                   type: "categoryX",
                                   label: "xValue",
                                   labelTopMargin: 5,
                                   gap: 5
                               }, {
                                   name: "yAxis",
                                   type: "numericY",
                                   minimumValue: 0,
                                   maximumValue: 109,
                                   labelLocation: "outsideRight",
                                   majorStrokeThickness: 2,
                                   majorStroke: "#0856a7",
                                   minorStroke: 'black',
                                   minorInterval: 10,
                                   interval: 50,
                                   formatLabel: function (value) {
                                       if (value == 50) {
                                           return "Medium value";
                                       }
                                   },
                               }, {
                                   name: "yAxis1",
                                   type: "numericY",
                                   title: "Rank",
                                   minimumValue: 0,
                                   maximumValue: 109,
                                   labelLocation: "outsideLeft",
                                   interval: 10,
                                   formatLabel: function (value) {
                                       return value;
                                   },
                               }],
                               series: [{
                                   name: "series1",
                                   type: "column",
                                   isHighlightingEnabled: true,
                                   isTransitionInEnabled: true,
                                   xAxis: "xAxis",
                                   yAxis: "yAxis",
                                   valueMemberPath: "value",
                                   showTooltip: true,
                                   remove: true,
                                   isCustomCategoryStyleAllowed: true,
                               }],
                               assigningCategoryStyle: function (e, ui) {
                                   var startIndex = ui.startIndex;
                                   var endIndex = ui.endIndex;
                                   var items =ui.getItems(startIndex,endIndex);
                                   var color = ui.fill;
                                   for (var i = 0; i < items.length; i++) {
                                       if (items[i].color) {
                                           color = items[i].color;
                                       }

                                   }
                                   ui.fill = color;
                               }

это код, который я пишу при привязке подсказки изначально

//get
var series = $("#chart").igDataChart("option", "series");
                            series[0].tooltipTemplate;

                            //Set
                            $("#chart").igDataChart("option", "series",
                                [{
                                    name: "series1",
                                    type: "column",
                                    isHighlightingEnabled: true,
                                    isTransitionInEnabled: true,
                                    xAxis: "xAxis",
                                    yAxis: "yAxis",
                                    valueMemberPath: "value",
                                    showTooltip: true,
                                    isCustomCategoryStyleAllowed: true,
                                    tooltipTemplate: "CustomTooltipTemplate",
                                }]
                            );

"CustomTooltipTemplate" - это мой пользовательский шаблон всплывающей подсказки, который изначально отлично работает

когда я получаю новые данные, после чего я пытаюсь обновить график с помощью всплывающей подсказки [0].tooltipTemplate; показать ошибку в консоли, так как не могу прочитать свойство 'tooltipTemplate' из неопределенного, и если я не использую пользовательский шаблон и просто использую свойство showTooltip Не удается прочитать свойство 'updateToolTip' из неопределенного, есть ли способ, которым я могу использовать настраиваемый tootltip и dataSource динамически,

Раньше я обновлял источник данных i,e jsonObj . я нашел решение. при обновлении диаграммы я перезаписываю серию и назначаю источник данных диаграмме и сериям визуализации, как показано ниже, и это работает

   $("#chart").igDataChart({
                            series: [{
                                name: "series1",
                                type: "column",
                                isHighlightingEnabled: true,
                                isTransitionInEnabled: true,
                                xAxis: "xAxis",
                                yAxis: "yAxis",
                                valueMemberPath: "value",
                                isCustomCategoryStyleAllowed: true,
                            }],
                        });

                        $("#chart").igDataChart("option", "dataSource", jsonObj);
                        $("#chart").igDataChart("renderSeries", "xAxis", false);
                        $("#chart").igDataChart("renderSeries", "yAxis", false);
                        $("#chart").igDataChart("renderSeries", "yAxis1", false);

0 ответов

Другие вопросы по тегам