2014-09-30 59 views
1

我使用KendoUI調度控制,這裏是初始化代碼如何動態地添加和刪除組要KendoUI調度

    $("#Scheduler").kendoScheduler({ 

         dataSource: [], 
         selectable: true, 
         height: 500, 
         editable: false, 
         eventTemplate: $("#event-template").html(), 
         views: [ 
           "day", 
           { type: "week", selected: true }, 
           "month", 
           "agenda" 
         ], 
         resources: [ 
          { 
           field: "resourceviewid", 
           name: "ResourceViews", 
           dataColorField: "key", 
           dataSource: [ 
            { text: "Appointments", value: 1, key: "orange" }, 
            { text: "Delivery Specialist", value: 2, key: "blue" }, 
            { text: "Orientation Specialist", value: 3, key: "green" } 
           ] 
          } 
         ], 
         group: { 
          resources: ["ResourceViews"], 
          orientation: "horizontal" 
         } 
        }); 

這裏的「約會」組是默認情況下,將可總是

我有複選框,在我的屏幕

 <div id="divResourceView"> 
      <label><input checked type="checkbox" value="1" />Delivery Specialist</label> 
      <label><input checked type="checkbox" value="2" />Orientation Specialist</label> 
     </div> 

在更改事件我寫了下面的代碼從複選框選擇的值和更新KendoUI調度集團數據源如下

 $("#divResourceView :checkbox").change(function (e) { 
     var checked = $.map($("#divResourceView :checked"), function (checkbox) { 
      return parseInt($(checkbox).val()); 
      }); 
     }); 

     var scheduler = $("#Scheduler").data("kendoScheduler"); 

     var arrayOfStrings = checked.toString().split(","); 

     for (var i = 0; i < arrayOfStrings.length; i++) 
     { 
      if(arrayOfStrings[i] == 1) 
      { 
       var data = [{ text: "Delivery Specialist", value: 2, color: "blue" }]; 
       scheduler.resources[1].dataSource.data(data); 
      } 
      if (arrayOfStrings[i] == 2) { 
       var data = [{ text: "Orientation Specialist", value: 3, color: "green" }]; 
       scheduler.resources[2].dataSource.data(data); 
      } 
     } 

     scheduler.refresh(); 

但它會刪除所有團體和只添加一個。我想看看這兩個羣體時arrayOfStrings有值「1,2」,

我可以初始化期間所有團體但是,當我選中該複選框消失。

圖像參考 初始化 enter image description here

enter image description here

後,你可以清楚地看到,交付專家中缺少調度控制

發現了一些鏈接:http://www.telerik.com/forums/add-filter-to-resource-datasource 但不確定他們在說什麼?似乎是刷新問題。

回答

0

我已經做到了這一點我相信你是對的,你的問題是與刷新,我使用以下來刷新它。

var scheduler = $("#scheduler").data("kendoScheduler"); 
scheduler.view(scheduler.view().name); 

希望這有助於通過它是愚蠢晚(目前我仰視如何做到這一點lazerly