【问题标题】:Trigger event of kendo scheduler control dynamicallykendo调度器控制的动态触发事件
【发布时间】:2017-08-21 10:38:38
【问题描述】:

如何从 moveEnd 触发或触发或调用剑道调度程序控制的保存方法。一旦我阻止默认 moveEnd 事件?

function scheduler_moveStart(e) {
    log("moveStart", e);
}
function scheduler_move(e) {
    log("move", e);
}
function scheduler_moveEnd(e) {
    log("moveEnd", e);
    e.preventDefault();
    // my logic goes here
    //
    // line of code
    //  
    // fire save event from here.
}    
function scheduler_save(e) {
    log("save", e);
}

【问题讨论】:

    标签: javascript jquery kendo-ui kendo-asp.net-mvc kendo-scheduler


    【解决方案1】:

    我认为您正在谈论保存调度程序的事件,因此您可以使用saveEvent() 方法。但是,还有另一个选项可以保存数据源的数据,如果您在保存到数据库之前已在数据源中添加了事件,请使用sync()

    function scheduler_moveEnd(e) {
        log("moveEnd", e);
        e.preventDefault();
    
        var scheduler = $("#scheduler").data("kendoScheduler");
    
        // Saving by scheduler's saveEvent()
        scheduler.saveEvent();
    
        // Saving by dataSource's sync()
        scheduler.dataSource.sync();
    }   
    

    【讨论】:

    • 感谢重播;这两种情况都不适合我。您还有其他解决方案吗?
    • 如果我不阻止该事件,所有场景都可以正常工作。但是,一旦阻止了 moveEnd 事件,它就不会保存移动的事件或无法按预期工作。
    • @HardikSavani 所以如果你拿走e.preventDefault(),它会起作用吗?
    • 是的。我想检查 moveEnd 插槽上的现有事件。所以我要阻止这个事件。
    【解决方案2】:

    我使用以下代码解决了这个问题: 使用 editEvent 并将当前事件作为参数传递。

    e.sender.editEvent(e.event);
    e.sender.saveEvent();
    

    【讨论】:

      猜你喜欢
      • 2014-04-20
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 1970-01-01
      相关资源
      最近更新 更多