【问题标题】:Kendo UI Chart DataBinding not firing剑道 UI 图表数据绑定未触发
【发布时间】:2015-07-25 23:47:17
【问题描述】:

我正在研究检查数据源后必须查看有多少项目。出于某种原因,我什至无法触发 dataBound 或 dataBinding 事件。

数据实际上被传递到一个函数中,所以当网格创建时它在本地拥有数据。

示例:http://dojo.telerik.com/IjAKo/2

源代码:

<div id="grid"></div>

<script>
  function onDataBinding(e) {
    console.log('here');
  }

  $(document).ready(function() {
    var chart = $("#grid").kendoChart({
      chartArea: {
        height: 250,
      },
      legend: {
        position: "bottom",
        labels: {
          font: "bold 10px Arial",
        }
      },
      seriesDefaults: {
        type: "column",
        spacing: 0,
        overlay: {
          gradient: "none"
        }
      },
      series: [{
        name: "ESCROW",
        color: "#cccbcb",
        data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
      }, {
        name: "NON-ESCROW",
        color: "#406f8c",
        data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
      }],
      categoryAxis: {
        line: {
          visible: false
        },
        categories: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Set", "Oct", "Nov", "Dec"],
        majorGridLines: {
          visible: false
        }
      },
      valueAxis: {
        labels: {
          format: "{0:N0}"
        },
        line: {
          visible: false
        },
        majorGridLines: {
          visible: false
        },
        max: 20
      },
      tooltip: {
        visible: true,
        format: "{0:N0}"
      },
      dataBinding: onDataBinding  // tried to do it here.

    });
    // tried to bind after initialization
    chart.bind("dataBound", function(e) {
      alert('here')
    });

  });
</script>

【问题讨论】:

    标签: kendo-ui kendo-chart


    【解决方案1】:

    图表中没有dataBinding事件,只有dataBound。此事件仅在图表指定dataSource 时触发,即使是空的,所以您必须在图表中添加这样的线条:

    dataSource: {},
    

    还有一件事:在您的示例中,您使用本地数据,因此如果您首先创建图表,然后将函数绑定到dataBound,则该事件不会触发,因为数据已经绑定。在图表构造函数中定义 dataBound 事件:

    dataBound: function(e) { console.log('data bound') },
    

    固定示例:http://dojo.telerik.com/IjAKo/4

    【讨论】:

    • 谢谢,这有点晦涩,但确实有效。没有意识到我必须有一个空的数据源。
    • 如果您将其保留为您的 dataSource 属性将有 0 个数据项,因为您在图表系列中明确指定了数据。您可以直接在图表选项中找到数据系列的数量。要在图表dataSource 中有数据,您必须重新排列图表构造函数。请参阅此示例:demos.telerik.com/kendo-ui/line-charts/local-data-binding
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多