【发布时间】:2015-04-21 06:15:23
【问题描述】:
我的项目中有一个来自 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 中的错误还是我做错了什么?任何帮助表示赞赏。
【问题讨论】:
-
复制这个演示是否完全适合您:demos.telerik.com/aspnet-ajax/scheduler/examples/…?您是否在网格 ItemCommand 事件中创建哈希表? GetDataKeyValue() 方法是否返回正确的数据?如果是这样,您可以只使用它并将所需的字段添加到表视图的 DataKeyNames 属性中。
-
感谢您的评论。结果是 PopulateScheduler();在 Page_Load 中没有包裹在 if(!IsPostBack){}
-
那么,现在可以了吗?如果是这样,请将其发布为答案并接受它:) 或者我可以将其与演示链接一起发布:)
-
是的,现在可以了。请发布答案,我会接受它,因为您的评论使我找到了解决方案:-)
标签: asp.net webforms telerik telerik-grid telerik-scheduler