javascript - Kendo UI Scheduler - 如何刷新/显示隐藏/过滤资源列表

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

我有一个 Kendo UI 调度程序,配置为时间线(左侧垂直的单个资源列表,顶部水平的小时 block )。我能够使用正确的资源初始化调度程序,但渲染后我想修改列表(隐藏其中一些),但无法获取资源列表来刷新其自身。

我已尝试了以下所有组合,但没有一个成功刷新列表。

var sched = $("#TimeLineView").data("kendoScheduler");
sched.resources[0].dataSource.read();
sched.resources[0].dataSource.sync();
sched.refresh();
sched.view(sched.view().name);

初始创建

$("#TimeLineView").kendoScheduler({
    date: new Date(),
    timezone: null,
    views: [
        {
            type: "timeline",
            majorTick: 60,
            minorTickCount: 1
        }
    ],
    currentTimeMarker: {
        updateInterval: 120000
    },
    group: {
        resources: ["Users"],
        orientation: "vertical"
    },
    resources: [
        {
            field: "UserId",
            name: "Users",
            dataSource: [
                { value: "Bob" },
                { value: "Rob" }
            ],
            multiple: true,
            title: "Users"
        }
    ],
    height: 500
});

最佳答案

这是DEMO用于过滤(显示/隐藏)调度程序资源。

下面是 DEMO 中过滤资源的代码片段:

HTML:

<input type="button" value="Only show Alex and Rob" id="btn" />
<input type="button" value="Show Everyone" id="showAll" />

JS:

$('#showAll').click(function() {
  var showOnly = [];//pass an empty array to show all the resources
  filterSchedulerResources(showOnly);
});

$("#btn").click(function() {
  var showOnly = ['Alex', 'Rob'];
  filterSchedulerResources(showOnly);

});

function filterSchedulerResources(showOnly)
{
  console.log('showOnly = ',showOnly);

  var filter = {
    logic: "or",
    filters: $.map(showOnly, function(value) {
      return {
        operator: "eq",
        field: "value",
        value: value
      };
    })
  };

  var scheduler = $("#scheduler").data("kendoScheduler");  
  //filter the resource data source 
  scheduler.resources[0].dataSource.filter(filter);  

  scheduler.view(scheduler.view().name); //refresh the currunt view  
}

关于javascript - Kendo UI Scheduler - 如何刷新/显示隐藏/过滤资源列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46349226/

相关文章:

javascript - 当 for 循环处理对象数组时 forEach 不起作用

javascript - Jquery .js 文件不执行

javascript - 刷新剑道网格

javascript - 用于引用对象实例的 React.js 模式

javascript - JS/Jquery - 如何结合添加/删除类来删除数据属性?

javascript - 如何获取某些单词后的数字?

javascript - 未捕获的类型错误 : undefined is not a function with jQuery

javascript - kendo ui 在第一次加载时选择特定的索引/文本

jquery - 使用 Ajax 结果填充 Kendo 网格

javascript - 在 Javascript 中使用 call 和 apply 的上下文?