【问题标题】:Can the DataSource of a Kendo UI Diagram sync to a remote API?Kendo UI Diagram 的 DataSource 可以同步到远程 API 吗?
【发布时间】:2015-12-05 16:07:30
【问题描述】:

我正在使用剑道图来显示一些数据。不过,我也想对图表进行更改并保存。

我的图表绑定到 JSON API,其中一个数据源用于图表节点,另一个用于连接as described here

但是,当我将连接从一个节点拖到另一个节点时,数据源不会向 API 发送任何请求。

这应该是只读的还是我做错了什么?

这是我的代码 sn-p:

var myConnectionsDataSource = new kendo.data.DataSource({
    transport: {
        read: {
            url: "/my/api",
            type: "get",
            dataType: "json"
        },
        destroy: {
            url: "/my/api",
            type: "delete"
        },
        update: {
            url: "/my/api",
            type: "put",
            dataType: "json"
        },
        create: {
            url: "/my/api",
            type: "post",
            dataType: "json"
        }
    },
    change: function(data) {

        // I started hacking in the change event handler to generate API calls myself
        // is this really necessary?

    }
});

var myDiagram = $("#commands-diagram").kendoDiagram({
    dataSource: myNodesDataSource,
    connectionsDataSource: myConnectionsDataSource
}).data('kendoDiagram');

就像 sn-p 中提到的,我开始使用连接数据源的 change 事件处理程序来了解所做的更改并自己执行 API 调用。

这感觉像是一种奇怪的 hack,因为 kendo 数据源具有可用于其他用途(网格和下拉菜单)的传输机制。

【问题讨论】:

  • 你看demo了吗?尝试在您的数据源上设置batch: false。您不需要change 事件函数。
  • 哇,我找到了。实际上 batch 参数与它无关。我没有为我的 API 中的连接实现所有字段,这导致数据源不执行任何操作:-/

标签: javascript kendo-ui telerik datasource diagram


【解决方案1】:

感谢 Brett 让我再看一次演示。

数据源要求我实现连接的所有参数(id、from、to、fromX、fromY、toX 和 toY),无论它们中的大多数是否始终为空。

我只返回了正确显示的 fromto 字段,但这样数据源将永远不会调用 API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多