Hi, I'm struggling to get times to be consistent between the RadScheduler when retrieving data from Exchange via EWS. I only need to work in GMT timezone. I've set what I think are all necessary TimeZones to GMT, but when retrieving the data the appointments are shown +1 hour as compared to Outlook. Some example code to show what is happening is below. When adding a new appointment this seems to work OK and is consistent. When updating however, the e.ModifiedAppointment.Start date is an hour behind what I actually choose in the RadScheduler. Any help appreciated.
<telerik:RadScheduler TimeZoneID="GMT Standard Time" RenderMode="Lightweight" runat="server" ID="RadScheduler1" DayStartTime="07:00:00" Height="600px"
DayEndTime="20:00:00" OnAppointmentInsert="RadScheduler1_AppointmentInsert"
OnAppointmentUpdate="RadScheduler1_AppointmentUpdate" OnAppointmentDelete="RadScheduler1_AppointmentDelete"
DataKeyField="ID" DataSubjectField="Subject" DataStartField="Start" DataEndField="End" DataTimeZoneIdField="TimeZone" Skin="WebBlue"
RowHeight="28px" MinutesPerRow="30" FirstDayOfWeek="Monday" LastDayOfWeek="Friday" OverflowBehavior="Auto">
<AdvancedForm Modal="true"></AdvancedForm>
<TimelineView UserSelectable="false"></TimelineView>
<TimeSlotContextMenuSettings EnableDefault="true"></TimeSlotContextMenuSettings>
<AppointmentContextMenuSettings EnableDefault="true" ></AppointmentContextMenuSettings>
<Reminders Enabled="false"></Reminders>
</telerik:RadScheduler>
Public Function LoadAppointments() As List(Of RevAppointment)
Dim appointments As New List(Of RevAppointment)
Dim now = Date.Now
Dim startDate As Date = New Date(now.Year, now.Month, now.Day, 0, 0, 0)
Dim endDate As Date = startDate.AddDays(7)
Dim calendar As CalendarFolder = CalendarFolder.Bind(Me.ExService, WellKnownFolderName.Calendar, New PropertySet())
Dim cView As New CalendarView(startDate, endDate, 250)
cView.PropertySet = New PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Id, AppointmentSchema.TimeZone, AppointmentSchema.StartTimeZone, AppointmentSchema.EndTimeZone)
Dim cAppointments As FindItemsResults(Of Microsoft.Exchange.WebServices.Data.Appointment) = calendar.FindAppointments(cView)
For Each cAppointment In cAppointments
Dim tz = TimeZoneInfo.GetSystemTimeZones().FirstOrDefault(Function(x) x.DisplayName = cAppointment.TimeZone)
Dim appointment As New RevAppointment
appointment._id = cAppointment.Id.ToString
appointment.Start = cAppointment.Start
appointment.End = cAppointment.End
appointment.Subject = cAppointment.Subject
appointment.TimeZone = tz.Id
appointments.Add(appointment)
Next
Return appointments
End Function
Protected Sub RadScheduler1_AppointmentUpdate(ByVal sender As Object, ByVal e As Telerik.Web.UI.AppointmentUpdateEventArgs)
Dim id As New ItemId(e.Appointment.ID)
Dim ps As New PropertySet(AppointmentSchema.Subject, AppointmentSchema.Start, AppointmentSchema.End, AppointmentSchema.Id, AppointmentSchema.TimeZone, AppointmentSchema.IsMeeting)
Dim updatedAppt As Appointment = Appointment.Bind(Me.ExService, id, ps)
updatedAppt.Subject = e.ModifiedAppointment.Subject
updatedAppt.Body = e.ModifiedAppointment.Description
updatedAppt.Start = e.ModifiedAppointment.Start
updatedAppt.End = e.ModifiedAppointment.End
updatedAppt.Location = ""
updatedAppt.ReminderDueBy = DateAdd(DateInterval.Minute, -15, e.ModifiedAppointment.Start)
Dim mode As SendInvitationsOrCancellationsMode
If updatedAppt.IsMeeting Then
mode = SendInvitationsOrCancellationsMode.SendToAllAndSaveCopy
Else
mode = SendInvitationsOrCancellationsMode.SendToNone
End If
updatedAppt.Update(ConflictResolutionMode.AlwaysOverwrite, mode)
End Sub
foreach (RadTreeNode node in RadTreeView1.Nodes)
This provides only the root nodes (the ones at the higher level). All of the nodes have quite few child node & subfolders (which again contain child nodes). How can I scroll thru all the nodes in the tree?
Thank you
Hi.
I am not good at English.
I use RadTreeView for Ajax 2009 Q3.
I try to maintain a state of RadTreeView Nodes before creating a new folder via right-clicking menu.
The sorce code is the following.
| namespace TelerikTreeView |
| { |
| public partial class _Default : System.Web.UI.Page |
| { |
| /// <summary> |
| /// Variable for state maintein |
| /// </summary> |
| private RadTreeNodeCollection preChangeTreeNodes; |
| protected void RadTreeView1_ContextMenuItemClick(object sender, RadTreeViewContextMenuEventArgs e) |
| { |
| RadTreeNode clickedNode = e.Node; |
| // Copy Nodes |
| this.CopyRadTreeNodesTo(out preChangeTreeNodes); |
| ..... |
| } |
| /// <summary> |
| /// The state of present TreeView is copied onto the RadTreeNodeCollection object of the argument. |
| /// </summary> |
| /// <param name="nodes"></param> |
| private void CopyRadTreeNodesTo(out RadTreeNodeCollection nodes) |
| { |
| nodes = new RadTreeNodeCollection(this.RadTreeView1); |
| foreach (RadTreeNode node in this.RadTreeView1.Nodes) |
| { |
| nodes.Add(node.Clone()); |
| } |
| } |
The following error occurs by the second post backing.
-----------------------
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
-----------------------
The error will not occurs when EnableViewState property of TreeView is false.
But I don't want to change EnableViewState to false. Beause I can not get RadTreeViewContextMenuEventArgs Value when it is false.
Also SessionState mode is SQLServer, I can not use session to maintain the node.
How to keep the node during page post-back?
Hi all,
I'm new for telerik radgrid. I'm trying to bind radnumerictextbox and checkbox into onecolumn. But I'm facing with issues that date column not accept checkbox type after radnumerictextbox defined in this column. How solve it?
Thanks all
AKL
Hi ,
I want to change column to row level on my telerik grid. So after we change the grid will be become like this all date will be columns level and ST,Min,Max,CTA,CTD,Stop Sell will be row level . Please kindly see the attachment.
Thanks & Best Regards
HAN
I'm using a RadGrid to load data for one table and when I sort that table and then loud another RadGrid I get the error No property or field 'ElaScaleScore' exists in type 'AssessmentGradePerformanceResultsData'. The ElaScaleScore is the sorted column on the first grid and the column doesn't exist on the second grid. How can I fix the second grid so it doesn't try to sort on a column that doesn't exist?
Hello Team,
I created a Rad grid with a GridBoundColumn which is assigned a DateTime column. I have the allowFilterOnColumns= True.
Since it is a template column i have added a RadDatePicker as said in the demo of basic template filtering.
But the filter is not working.
Here is the code i have now.
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="GridwithFilter.aspx.vb" Inherits="WebApplication1.GridwithFilter" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <telerik:RadScriptManager ID="rdsm1" runat="server"></telerik:RadScriptManager> <telerik:RadGrid ID="rgdFilter" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="true"> <MasterTableView> <Columns> <telerik:GridTemplateColumn HeaderText="Product Name" UniqueName="ProductNameColumn"> <ItemTemplate> <asp:Label ID="lblProduct" runat="server" Text='<%# Eval("ProductName") %>'></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridDateTimeColumn DataField="OrderDate" HeaderText="OrderDate" FilterControlWidth="110px" SortExpression="OrderDate" PickerType="DatePicker" EnableTimeIndependentFiltering="true" DataFormatString="{0:MM/dd/yyyy}"> </telerik:GridDateTimeColumn> <telerik:GridBoundColumn UniqueName="ShippedDate" DataField="ShippedDate" HeaderText="Shipped date" DataFormatString="{0:d}" HeaderStyle-Width="100px"> <FilterTemplate> <telerik:RadDatePicker RenderMode="Lightweight" ID="ShippedDatePicker" runat="server" Width="100px" ClientEvents-OnDateSelected="DateSelected" DbSelectedDate='<%# SetShippedDate(Container) %>' /> <telerik:RadScriptBlock ID="RadScriptBlock2" runat="server"> <script type="text/javascript"> function DateSelected(sender, args) { var tableView = $find("<%# TryCast(Container, GridItem).OwnerTableView.ClientID %>"); var date = FormatSelectedDate(sender); tableView.filter("ShippedDate", date, "EqualTo"); } function FormatSelectedDate(picker) { var date = picker.get_selectedDate(); var dateInput = picker.get_dateInput(); var formattedDate = dateInput.get_dateFormatInfo().FormatDate(date, dateInput.get_displayDateFormat()); return formattedDate; } </script> </telerik:RadScriptBlock> </FilterTemplate> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> </div> </form></body></html>
and My Code behind
Imports Telerik.Web.UIPublic Class GridwithFilter Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not IsPostBack Then End If End Sub Private Sub rgdFilter_NeedDataSource(sender As Object, e As GridNeedDataSourceEventArgs) Handles rgdFilter.NeedDataSource Dim dt As New DataTable() dt.Columns.Add("ProductName") dt.Columns.Add("ShippedDate", GetType(Date)) Dim dr As DataRow dr = dt.NewRow() dr("ProductName") = "Product 1" dr("ShippedDate") = DateTime.Now dt.Rows.Add(dr) dr = dt.NewRow() dr("ProductName") = "Product 2" dr("ShippedDate") = DateTime.Now.AddMonths(5) dt.Rows.Add(dr) rgdFilter.DataSource = dt End Sub Protected Function SetShippedDate(ByVal container As GridItem) As System.Nullable(Of DateTime) If container.OwnerTableView.GetColumn("ShippedDate").CurrentFilterValue = String.Empty Then Return New System.Nullable(Of DateTime)() Else Return DateTime.Parse(container.OwnerTableView.GetColumn("ShippedDate").CurrentFilterValue) End If End FunctionEnd Class
Regards
Rajesh