8

Kendo Web GPL バージョン 2013.3.1119 を使用して Kendo Scheduler ウィジェットをセットアップしました。

イベントがリモートの SchedulerDataSource から取得され、関連付けられたリソースと共にカレンダーに正しく表示されるという点で、ほとんど問題なく動作しています。

問題は... イベントをダブルクリックすると正しいデータを含むポップアップ エディターが表示されますが、[キャンセル] をクリックするか [X] を閉じると、イベントがカレンダーから削除されます。

エラーはありません。イベントが消えるだけです。

これを引き起こしている可能性のあるアイデアはありますか?

4

3 に答える 3

2

私が持っていた正確な問題。そして、この「バグ」の原因は、私がモデルを間違って設定したことです。私の場合、すべてのイベントのすべての ID が同じでした。そのため、イベント ID が一意であることを再確認してください。

Razor 構文の例:

@Html.Kendo().Scheduler<EventsViewModel>()
   .Name("scheduleTimes")
   .Timezone("Etc/UTC")
   .Views(views => views.WeekView())
   .DataSource(d => d
      .Model(m =>
      {
         m.Id(f => f.TimeId); //!!! TimeID should be unique
         m.Field(f => f.Title).DefaultValue(" ");
         m.Field(f => f.Start).Editable(true);
         m.Field(f => f.End).Editable(true);
      }
    )
  )
)
于 2015-11-19T02:22:23.793 に答える
0

私も Kendo Scheduler オブジェクト内でこれを更新する必要がありました:

 $("#schedulerID").getKendoScheduler().dataSource._pristineData

スケジューラに新しいタスクを追加すると、その配列「_pristineData」の末尾に新しいオブジェクトが追加されますが、「id」フィールドは空です。編集をキャンセルすると... この新しいタスクはブラウザで消えます。次に、Kendo Scheduler オブジェクトを次のように更新します。

 var length = $("schedulerID").getKendoScheduler().dataSource._pristineData.length;
 $("#schedulerID").getKendoScheduler().dataSource._pristineData[length - 1].id = id;

...そして私のために働きます。

于 2015-02-16T12:42:54.327 に答える