2009-09-20 71 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及參數:默認模板的源代碼在安裝目錄下找到。 否則,即使有了上面的建議,有人可以將約會拖放到新時間段或創建一個新時間段。