Подключить диаграмму JavaScript в столбце ItemTemplate? - PullRequest
0 голосов
/ 30 августа 2018

У меня есть сетка с колонкой ItemTemplate. Это выглядит так:

<asp:TemplateField>
  <ItemTemplate>
        <div class="salesChart"></div>
  </ItemTemplate>
</asp:TemplateField>

И у меня есть диаграмма JavaScript, которая выглядит так:

var chart = AmCharts.makeChart("salesChart", {
    "type": "serial",
    "theme": "light",
    "valueAxes": [{
        "id": "v1"
    }],
    "graphs": [
    {
        "id": "Company",
        "valueField": "sales_num"
    }],
    "categoryField": "month_name",
    "dataLoader": {
      "url": "http://43.32.54.23/SalesWcf.svc/GetSales",
      "format": "json"
    }
});

С помощью jquery я смог получить доступ ( Я предполагаю ) к каждому div в ItemTemplate вида grid:

<script>
    $(function() {
        $('.salesChart').each(function (index, chartContainer) {
            alert("entered");
            });
    });
</script>

Итак, я попробовал что-то подобное, но неудивительно, что оно генерирует ошибки javascript и не работает:

<script>
var chart = AmCharts.makeChart("salesChart", {
    "type": "serial",
    "theme": "light",
    "valueAxes": [{
        "id": "v1"
    }],
    "graphs": [
    {
        "id": "Company",
        "valueField": "sales_num"
    }],
    "categoryField": "month_name",
    "dataLoader": {
      "url": "http://43.32.54.23/SalesWcf.svc/GetSales",
      "format": "json"
    }
});

$.ajax({
    type: 'POST',       
    dataType: 'json',
    context: document.body,
    global: false,
    async:true,
    success: function(data) {
                //alert(data);
    chart.dataProvider = data;
    chart.validateNow();
}
});

Как я могу вставить эту диаграмму JavaScript в ItemTemplate? Я редко использую jquery.

...