使用javascript对象设置Kendo UI dataSource

zaf*_*zaf 4 javascript kendo-ui

刚刚开始尝试使用Kendo UI,我一直坚持如何使用标准的javascript对象作为数据源.

最初从javascript对象加载数据很容易,但我希望能够在通过用户交互发生更改后恢复数据.

优选地,如果该对象以某种方式与小部件同步,则所有人必须做的是对该javascript对象的读/写.

我们的数据:

var _data = [
{
    eventID: 8,
    title: "Group meeting.",
    start: new Date("2013/06/13 07:00"),
    end: new Date("2013/06/13 08:30"),
    pending:false,
    recurrenceRule: "",
    recurrenceException: "",
    description: "Take my brother to his group meeting.",
    isAllDay:false,
    ownTimeSlot:true,
    careAssistantId: 5,
    clientId: 6
},{
    eventID: 9,
    title: "Make dinner.",
    start: new Date("2013/06/13 11:00"),
    end: new Date("2013/06/13 13:30"),
    pending:true,
    recurrenceRule: "",
    recurrenceException: "",
    description: "Make dinner for my mom.",
    isAllDay:false,
    ownTimeSlot:true,
    careAssistantId: 5,
    clientId: 6
} ];
Run Code Online (Sandbox Code Playgroud)

初始小部件:

function save(){
   console.log(_data);    
}

$('.schedule').kendoScheduler({
        date: new Date("2013/6/13"),
        startTime: new Date("2013/6/13 07:00 AM"),
        height: 600,
        views: [ { type: "week", selected: true }],
        save: save,
        dataSource:_data
});
Run Code Online (Sandbox Code Playgroud)

以下是要测试的代码设置(请注意保存时的console.log调试):

http://jsfiddle.net/t23Ce/11/

如何在Kendo UI世界中读/写"状态"?

Lar*_*ner 8

简单数组无法提供更改跟踪,因此在创建窗口小部件时会将其转换为数据源.您可以通过各种方式访问​​数据的当前状态:

  1. 获取一个数组来迭代所有数据:dataSource.data()
  2. 访问特定项目:dataSource.at(1)
  3. 获取过滤数据:datasource.view()
  4. 得到一个纯JS数组:dataSource.data().toJSON()