【发布时间】:2011-11-25 10:32:54
【问题描述】:
我已经在时间线视图上实现了 Telerik 调度程序。我允许我的 y 轴资源(倡导者)和会议之间存在 M:M 关系。这是我的调度程序的样子:
当我双击会议的一个实例时,会出现高级编辑对话框。但是,在这里,没有一个倡导者被选为会议参与者:
本次会议的时间线中出现了许多倡导者。为什么它们没有在编辑表单中显示为选中状态?
问题还不止于此。我有第二种资源(立法者),它也与会议有 M:M 关系。这里有一个类似的问题 - 我为这次会议和 4 位立法者定义了关系,但只有第一个立法者被选中(而其他三个仍未被选中):
我需要添加另外两种类型的资源(同样,每种类型的资源都是 M:M with Meetings),我希望我会遇到与我已经添加的两种类似的问题。
我已经能够通过更改调度程序的分组和通过 SQL 查询来直观地验证数据库中的关系是否有效。那么,为什么我无法查看每个相关资源的检查?我的调度器代码如下:
<telerik:RadScheduler runat="server" ID="RadScheduler1"
AdvancedForm-Enabled="true"
AllowEdit="true"
AllowInsert="true"
DataEndField="End"
DataKeyField="ID"
DataSourceID="EventsDataSource"
DataStartField="Start"
DataSubjectField="Subject"
DayEndTime="17:00:00"
DayStartTime="07:00:00"
EnableAdvancedForm="true"
Localization-HeaderMultiDay="Work Week"
OverflowBehavior="Expand"
OnAppointmentDelete="OnAppointmentDelete"
OnAppointmentInsert="OnAppointmentInsert"
OnAppointmentUpdate="OnAppointmentEdited"
OnNavigationComplete="RadScheduler1_NavigationComplete"
SelectedDate="9/20/2011"
SelectedView="TimelineView"
>
<AppointmentContextMenuSettings EnableDefault="true" />
<AdvancedForm Modal="true" />
<ResourceTypes>
<telerik:ResourceType KeyField="Adv_AdvocateID" AllowMultipleValues="true" Name="Advocate" TextField="Adv_FullName" ForeignKeyField="Adv_AdvocateID"
DataSourceID="AdvocatesDataSource" />
</ResourceTypes>
<ResourceTypes>
<telerik:ResourceType KeyField="Leg_LegID" Name="Legislator" AllowMultipleValues="true" TextField="Leg_FullName" ForeignKeyField="Leg_LegID"
DataSourceID="LegislatorsDataSource" />
</ResourceTypes>
<TimelineView UserSelectable="true" GroupBy="Advocate" GroupingDirection="Vertical" />
<MultiDayView UserSelectable="false" />
<DayView UserSelectable="false" />
<WeekView UserSelectable="false" />
<MonthView UserSelectable="false" />
</telerik:RadScheduler>
我希望有人能深入了解如何在编辑预约对话框中正确显示所选资源,并提前感谢您的帮助。
【问题讨论】:
-
自从你上次发帖后看起来不错。我很好奇您在编辑/查看这些约会的详细信息时是否有任何代码来处理复选框的“检查”。如果可以,可以发一下吗?
-
谢谢老板。我什么都没有处理。根据 Telerik 的示例,调度程序控制似乎足够聪明,可以解决这个问题。在我的实现中,它能够自行找出第一个“立法者”检查。我希望为您澄清!
-
只是因为我无法将任何项目设置为与您的项目完全一样,当您打开“编辑约会”窗口时是否会触发任何类型的事件?另外,您在参考哪个示例时看到它在做什么?我有几个打开了,想比较一下。
-
在编辑约会之前不会触发任何事件。我在看这个演示 - demos.telerik.com/aspnet-ajax/scheduler/examples/… 虽然现在我仔细观察,我看到有一个下拉列表,并且在 MultipleValuesResourceControlCS.ascx.cs 源中,我可以看到检查是在一个调用的方法中设置的Page_Load() 方法。我猜想通过模拟和修改该控件,我还可以实现下拉列表而不是复选框列表。我在正确的轨道上吗?
-
Telerik 组件很棒。调度程序是一块垃圾。我花了很多个晚上试图让那些令人费解的垃圾做一些远程有用的事情。讨厌 2 说出来,但我最终还是自己动手。
标签: c# asp.net telerik radscheduler