RadScheduler 混合约会

RadScheduler mixing appointments

我的项目中有一个来自 Telerik 的 RadScheduler。在同一页上它下面有一个 RadGrid。当我将一个约会从网格拖到调度程序时,另一个约会会出现在调度程序上。

这里是网格的RowDrop方法:

       protected void AppointmentRadGrid_RowDrop(object sender, GridDragDropEventArgs e)
       {
        GridDataItem dataItem = e.DraggedItems[0];

        var values = new Hashtable();
        dataItem.ExtractValues(values);

        //long id = (long)dataItem.GetDataKeyValue("ID");
        var subject = (string)values["Subject"];
        long saNo = Int64.Parse(values["SANo"].ToString());
        string targetSlotIndex = TargetSlotHiddenField.Value;

        if (targetSlotIndex != string.Empty)
        {
            HandleSchedulerDrop(subject, targetSlotIndex, saNo);
            TargetSlotHiddenField.Value = string.Empty;
        }
        //RadScheduler1.Rebind();
        AppointmentRadGrid.Rebind();

        CheckRadGridPanelVisible();
        }

似乎在这一行:

         dataItem.ExtractValues(values);

提取了错误的值,这导致在 日历。

这是 RadScheduler 中的错误还是我做错了什么?感谢任何帮助。

  1. 复制原始 Telerik 演示中的整个代码并将其与您的进行比较:http://demos.telerik.com/aspnet-ajax/scheduler/examples/draganddropintegration/defaultcs.aspx?product=grid.

  2. 确保在网格的 ItemCommand 事件中创建散列 table。

  3. 如果 returns 数据正确,请使用 GetDataKeyValue() 方法。您只需将所需的字段添加到 DataKeyNames 集合。