Событие Click Kendo Series не работает после первого звонка - PullRequest
0 голосов
/ 14 мая 2018

У меня есть круговая диаграмма Kendo в js-файле, она имеет функцию onSeriesClick:

function pieChartForInterventions(chartID, pieChartData, seriesClickCallback) {

chartID.kendoChart({
    dataSource: {
        data: pieChartData
    },
    series: [{
        type: "pie",
        color: "#FDB45C",
        animation: {
            type: "fadeIn",
            duration: 100
        },
        field: "list",
        categoryField: "mm",
        padding: 0,
        labels: {
            visible: true,
        },
        overlay: {
            gradient: "none"
        },
    }],
    seriesColors: ["#46BFBD", "lightskyblue"],

    tooltip: {
        visible: true,
        template: "${ category }"
    }
    ,
    legend: {
        position: "bottom"
    },
    seriesClick: seriesClickCallback
});

}

Я предоставляю ей данные и создаю себе круговую диаграмму на круговой диаграмме, когда ящелчок по нему должен дать мне сетку и другой график (столбец), когда есть только сетка, она работает, когда я хочу, чтобы и сетка, и диаграмма столбца, событие seriesClick не работало после первого вызова, для сетки и диаграммы столбца у меня есть два разныхфункции, вот моя столбчатая диаграмма:

                 function createChartForInterventions(dataForInter) {


             chartID.kendoChart({ 
              legend: {
                visible: false
                      },   
                series: [{
                data:dataForInter,
                type: "column",
                color: "#FDB45C",
                field: "cp_type_present",
                categoryField: "turbineName",
               }],


       });

        });

, а вот моя сетка:

        function createDynamicGrid(chartId, source, column) {

                chartId.kendoGrid({
                dataSource: {
                    data: source,
                },
                height: 350,
                scrollable: true,
                sortable: true,
                filterable: true,
                columns: column,
                noRecords: {
                    template: "No data"
                },

                });

        }       

на моем главном экране, я называю их:

               $.ajax({

                  dataType: "json",
                  type: "POST",
                  url: "@Url.Action("faultstatCrewPresentIntervetion","Dashbrd")",
                  contentType: "application/json; charset=utf-8",
                      data: JSON.stringify({ "dtFrom": dtDrpVals.fromDate, "dtTo": dtDrpVals.toDate }),

                          success: function (result) {

                      var _clicked;

                           function onDb(e) {            
                    createDynamicGrid($("#gridProAvail"), result.interInprog, clmns);
                   createChartForInterventions();
                  ];


          }
             //Pie Chart 
                     pieChartForInterventions($("#pieChart"), result.nbr_ofCPtype, onDb);
           }});

1 Ответ

0 голосов
/ 14 мая 2018

Попробуйте изменить ваше событие на:

function pieChartForInterventions(chartID, pieChartData, seriesClickCallback) {

    chartID.kendoChart({
        dataSource: {
            data: pieChartData
        },
        series: [{
            type: "pie",
            color: "#FDB45C",
            animation: {
                type: "fadeIn",
                duration: 100
            },
            field: "list",
            categoryField: "mm",
            padding: 0,
            labels: {
                visible: true,
            },
            overlay: {
                gradient: "none"
            },
        }],
        seriesColors: ["#46BFBD", "lightskyblue"],

        tooltip: {
            visible: true,
            template: "${ category }"
        }
        ,
        legend: {
            position: "bottom"
        },
        .Events(events => events
                .SeriesClick("seriesClickCallback")
        )
    });

    }

https://demos.telerik.com/aspnet-mvc/chart-api/events

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...