2009-09-20 63 views
1

我试图利用Telerik的RadScheduler组件来建立一个面向公众的网站,并且不希望用户能够编辑事件的详细信息日历,但希望他们能够双击该事件以查看详细信息。使用Telerik:RadScheduler显示事件的详细信息,但没有编辑功能

这是如何实现的?

这里是我的调度当前代码:

<telerik:RadScheduler ID="RadScheduler1" runat="server" AllowDelete="False" 
    AllowEdit="True" AllowInsert="False" Skin="Vista" OnDataBound="RadScheduler1_DataBound" 
    OnInit="RadScheduler1_Init" HoursPanelTimeFormat="htt" ValidationGroup="RadScheduler1" 
    Height="600px" SelectedView="MonthView" Width="100%" ProviderName="XmlSchedulerProvider1"> 
    <Localization AdvancedAllDayEvent="All day"></Localization> 
    <AdvancedForm DateFormat="M/d/yyyy" TimeFormat="h:mm tt" Modal="True"></AdvancedForm> 
    <TimelineView UserSelectable="False" /> 
    <DayView UserSelectable="False" ReadOnly="True" /> 
</telerik:RadScheduler> 

我发现,设置AllowEdit =“假”防止整个模式从未来与该事件的详细信息。

回答

3

如果您使用的是AdvancedEditTemplateInlineEditTemplate,则可以禁用或隐藏RadScheduler1.FormCreated事件中的控件。使用e.Container.Mode检测插入和编辑模式。

VB例如:

Protected Sub RadScheduler1_FormCreated(ByVal sender As Object, ByVal e As SchedulerFormCreatedEventArgs) Handles RadScheduler1.FormCreated 
    If ((e.Container.Mode = SchedulerFormMode.AdvancedEdit)) Then 

     //Disable controls, hide update button 
     Dim cmdUpdate As LinkButton = DirectCast(e.Container.FindControl("UpdateButton"), LinkButton) 
     cmdUpdate.Visible = False 

     End If 
End Sub 

在我看来,用先进的表单模板的工作是在消费使用调度部分时间最多。在这种情况下,access默认的高级表单控件可能足以禁用或隐藏它们。但你也可以使用customize默认的高级表单模板,甚至可以用你自己的replace them

\Live Demos\Scheduler\Examples\AdvancedFormTemplate\DefaultTemplates 
1

取下形式updateinsert datasources及参数:默认模板的源代码在安装目录下找到。 否则,即使有了上面的建议,有人可以将约会拖放到新时间段或创建一个新时间段。

相关问题