如何在Kendo UI Scheduler上显示自定义事件?

时间:2015-08-04 09:39:35

标签: javascript json kendo-ui kendo-scheduler kendo-datasource

我有一个带有时间轴视图的Kendo UI Scheduler,其中作为其中一个资源,在Scheduler中动态填充了Persons名称列表。为了获得这些数据,我创建了一个远程Web服务,负责在数据库和前端之间进行适当的通信。当我创建Web服务时,我还在VB中创建了一个名为GetPersons的方法,它以JSON格式检索数据供我使用。

resources: [{
       field: "UserID",
       name: "Persons",
       dataTextField: "Name",
       dataValueField: "Name",
       dataSource: new kendo.data.DataSource({
          transport: {
             read: {
                url: 'Service/JSON/GetPersons'
             },
          schema: {
             type: "json",
             data: "GetPersonsResult.RootResults"
             }
          }
       ),
       multiple: true,
    title: "name"

现在,解释我的问题:

  • 我在数据库上有一个表,其中包含以下字段:ID,PersonID,TypeOfEventID,startDate和endDate。在此表中,我创建了三个事件,仅用于尝试测试并与人员相关。

  • 我试图在Scheduler中查看我创建的所有事件,但到目前为止,没有任何显示。我的逻辑与GetPersons方法相同。我创建了一个名为GetEvents的新VB文件,以便从数据库中获取Web服务中的事件,以便以后以JSON格式检索和使用。有了这个JSON数据,我计划看到我创建的事件。就像GetPersons方法一样。

  • 视图使用它是基于timelineMonth类型的自定义视图。每一行都有不同的人名,每个人都可以看到不同类型的特定事件。

Here's我的脚本

到目前为止,在调度程序中双击时,我看不到任何调度程序弹出窗口的事件。

如何关联所有这些事情的任何提示?我不知道是否需要创建另一个dataSource,我也不知道要在资源​​和/或模式/模型部分放置什么。

1 个答案:

答案 0 :(得分:1)

一个月之后,没有人回答我的问题,因此我相信我应该发布解决方案:

  • 我必须做的主要事情是以适当的方式创建我的第二类资源。所以,非常简单......我这样做了:

    {     字段:“EventType”,     dataValueField:“EventTypeID”,     dataTextField:“descr”,     dataColorField:“颜色”,     dataSource:new kendo.data.DataSource({ 运输: {     阅读:{         url:'./../Services/BlahBlahBlahDomainService.svc/JSON/GetEventType'         }     },     架构:{     类型:“json”,     数据:“GetEventsTypeResult.RootResults”,     总计:“GetEventsTypeResult.TotalCount”     }   }  ) }

除此之外,我还发现了其他一些小问题。例如:

  • 已禁用可编辑选项;
  • 两个资源dataSource都没有定义“schema.total”字段,并且在调用“schema.data”字段后需要选项;
  • 错过了其中一个资源的“dataTextField”属性;