RadScheduler混合约会

时间:2015-04-21 06:15:23

标签: asp.net webforms telerik telerik-grid telerik-scheduler

我的项目中有来自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 个答案:

答案 0 :(得分:1)

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

  2. 确保在网格的ItemCommand事件中创建哈希表。

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