I have an array of paths separated by a delimiter:
Dim paths = New List(Of String)() From { "C:\WINDOWS\AppPatch\MUI\040C", "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727", "C:\WINDOWS\Microsoft.NET\Framework\addins\MUI", "C:\WINDOWS\addins", "C:\WINDOWS\AppPatch", "C:\WINDOWS\AppPatch\MUI", "C:\WINDOWS\Microsoft.NET\Framework\MUI\MUI\0409" }
And I want to create a RadTreeView that will look something like this:
+C: +Windows +AppPatch +addins +Microsoft.NET +Framework...
This is what I have managed to do until now but there's something I'm missing:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim paths = New List(Of String)() From { "C:\WINDOWS\AppPatch\MUI\040C", "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727", "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MUI", "C:\WINDOWS\addins", "C:\WINDOWS\AppPatch", "C:\WINDOWS\AppPatch\MUI", "C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MUI\0409" } If Not Page.IsPostBack Then Dim subPathAgg As String Dim pathSeparator As String = "\" ' For each complete individual path For Each path As String In paths subPathAgg = String.Empty ' Fill array of strings with each delimited part Dim arrFolders As List(Of String) = (path).Split(pathSeparator).ToList Dim lastNode As RadTreeNode = Nothing Dim iCount As Integer = 0 'For each one of the folders For Each folder As String In path.Split(pathSeparator) subPathAgg += folder & pathSeparator Dim foundNode As RadTreeNode = RadTreeView1.Nodes.FindNodeByValue(subPathAgg, True) If foundNode Is Nothing Then If lastNode Is Nothing Then lastNode = New RadTreeNode(folder, subPathAgg) RadTreeView1.Nodes.Add(lastNode) Else Dim otherNode = New RadTreeNode(folder, subPathAgg) lastNode.Nodes.Add(otherNode) lastNode = otherNode End If Else If foundNode.Text <> folder Then Dim otherNode = New RadTreeNode(folder, subPathAgg) foundNode.Nodes.Add(otherNode) lastNode = otherNode End If End If Next lastNode = Nothing Next End IfEnd Sub
This is how the RadTreeView looks like right now:
We have a problem with RadScheduler when an appointment is dragged.
The attached RadScheduler1.jpg shows our screen before a drag/drop is done. The appointment to be moved is highlighted in red.
The intention is that we drag this appointment over to 12 December.
RadScheduler2.jpg shows what happens while the drag is in progress. The mouse NSEW cursor is actually located over the 12 December cell, yet the appointment position is way out of step with the mouse position and appears on 29 November. In fact, most dragging seems to want to put the appointment on the top row. If we scroll up a bit and move the mouse down, the dragged appointment can go to the next row, but the mouse cursor is off the bottom of the scheduler cells, although it is still within the scheduler.
Upon dropping, the appointment drops where the mouse is, so it appears that it is out of place during the drag. When it has dropped, it looses its background colour (which we set in OnAppointmentDataBound) and appears grey.
This is some of our code:
protected void radScheduler_OnAppointmentDataBound(object sender, SchedulerEventArgs e) {
CustomEvent customEvent = (CustomEvent)e.Appointment.DataItem;
e.Appointment.BackColor = System.Drawing.Color.FromArgb( Convert.ToInt32("0x" + customEvent.Colour, 16));
e.Appointment.ToolTip = customEvent.Description.Replace("<br/>", "\n");
}
protected void radScheduler_OnAppointmentUpdate(object sender, AppointmentUpdateEventArgs e) {
var modifiedAppointment = e.ModifiedAppointment;
DiaryEvent diaryEvent = omDb.FindDiaryEvent(Convert.ToInt32(modifiedAppointment.ID));
if (diaryEvent == null) {
SetRecordError("DiaryEvent", Convert.ToInt32(modifiedAppointment.ID));
e.Cancel = true;
} else {
// Check for conflicts with the new date
bool bGotConflicts = false;
...........
if(!bGotConflicts) {
// No conflicts or not checking for conflicts, so update the appointment
diaryEvent.StartDateTime = modifiedAppointment.Start;
diaryEvent.EndDateTime = modifiedAppointment.End;
omDb.InsertOrUpdateDiaryEvent(diaryEvent);
radScheduler.Rebind();
}
}
}
Note that we Rebind() after updating the database. This is not causing radScheduler_OnAppointmentDataBound to be called, so this probably explains why the colour is being lost.
The above is the month view.
The week view also seems to be full of bugs - RadScheduler3.jpg shows the 'before' with the event to be dragged marked. We drag the event across to Tue, 13 and nothing happens - the appointment does even get 'picked up' !
These issues occur in both Edge and Chrome. We are using Telerik 2016.2.607.40.
Our RadScheduler is defined as follows:
<telerik:RadScheduler ID="radScheduler" runat="server" RenderMode="Lightweight"
Height="800"
OnAppointmentUpdate="radScheduler_OnAppointmentUpdate"
OnAppointmentDataBound="radScheduler_OnAppointmentDataBound"
OnAppointmentContextMenuItemClicked="radScheduler_OnAppointmentContextMenuItemClicked"
OnClientAppointmentContextMenuItemClicked="ShowProgress"
OnNavigationComplete="radScheduler_OnNavigationComplete"
OnClientAppointmentDoubleClick="OnClientAppointmentDoubleClick"
OnClientAppointmentEditing="OnClientAppointmentEditing"
RowHeight="40px"
OverflowBehavior="Auto"
SelectedView="WeekView"
ShowFooter="false"
DayStartTime="00:00:00" DayEndTime="23:59:59"
FirstDayOfWeek="Sunday"
LastDayOfWeek="Saturday"
EnableDescriptionField="true"
AppointmentStyleMode="Default"
DataKeyField="Id"
DataStartField="Start"
DataEndField="End"
DataSubjectField="Title"
DataDescriptionField="Description"
AllowInsert="false"
AllowDelete="false"
DayView-SlotWidth="70" DayView-HeaderDateFormat="ddd dd MMM yyyy"
WeekView-SlotWidth="150" WeekView-HeaderDateFormat="ddd dd/M yyyy"
MonthView-SlotWidth="200" MonthView-HeaderDateFormat="ddd dd MMM yyyy" MonthView-AdaptiveRowHeight="true"
YearView-SlotWidth="250" YearView-HeaderDateFormat="MMM yyyy">
<DayView UserSelectable="true" />
<MultiDayView UserSelectable="true" />
<WeekView UserSelectable="true" />
<MonthView UserSelectable="true" />
<YearView UserSelectable="true" />
<TimelineView UserSelectable="false" />
<TimeSlotContextMenuSettings EnableDefault="true" />
<AppointmentContextMenuSettings EnableDefault="true" />
<AppointmentTemplate>
<div><%#Eval("Subject") %></div>
<div><%#Eval("Description") %></div>
</AppointmentTemplate>
<AppointmentContextMenus>
<%--The appointment context menu interaction is handled on the client in this example--%>
<%--See the JavaScript code above--%>
<telerik:RadSchedulerContextMenu runat="server" ID="SchedulerAppointmentContextMenu">
<Items>
<telerik:RadMenuItem Text="Edit" Value="EditSchedule"></telerik:RadMenuItem>
<telerik:RadMenuItem IsSeparator="True"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Resources" Value="CourseResources"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Course Info" Value="CourseInfo"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Course Instructors" Value="PanelInstructors"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Course Trainees" Value="PanelTrainees"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Support Material" Value="SupportMaterial"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Course News" Value="CourseNews"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Trainee Progress" Value="ViewProgress"></telerik:RadMenuItem>
<telerik:RadMenuItem IsSeparator="True"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Duplicate" Value="DuplicateSchedule"></telerik:RadMenuItem>
</Items>
</telerik:RadSchedulerContextMenu>
</AppointmentContextMenus>
</telerik:RadScheduler>
Can someone please advise what might be causing this ?
There seems to be a serious bug with the mouse and dragged cell being completely out of step with each other. Coupled with appointments not even getting picked up by drag, and other appointments which won't seem to drag where we want them, this makes RadScheduler a rather buggy showstopper for delivering to our client. We don't appear to have any control over the functionality which is failing.
Additional suggested improvements:
- Display rotator wheel when changing between views
- Display rotator wheel when appointment is dropped (to cover scenario of back-end server processing delay)
- Allow HTML is tooltips and/or make it properly template-driven
Graham Plowman



Hello, I'm using a custom advanced form (both insertion and edition)
And I'd like all of the events fired within the advanced form to only show a panel for the advanced form modal window.
So in my AdvancedForm.ascx I hate the following code :
<telerik:RadAjaxManagerProxy ID="rAjaxMan_advForm" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadMultiPage1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="rAjaxLPan_advForm" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings></telerik:RadAjaxManagerProxy><telerik:RadAjaxLoadingPanel ID="rAjaxLPan_advForm" runat="server" />
Which is supposed to display the loading panel for the RadMultiPage1 in case an even is fired inside the RadMultiPage1
But this never happens. Also tried setting different "AjaxControl" and "AjaxUpdatedControl", but this does not seem to change anything
My AdvancedForm is based on Telerik's template and the RadMultiPage is the top element in the "<div class="rsAdvContentWrapper">" element (which is the div right after the title bar)
I also have an AjaxSettings for the Radscheduler events and he is "catching" those postbacks when I'm in the AdvancedForm. I want to override it
Thank you for taking your time to answer me !
Hello,
I am tring to add/create html buttons to the toolsbar something like <>
Also I want to add language localization to the toolsbar.
I am not able to make it work. can you please give me a hand with some example code or information.
Thanks.

I use the following to print the middle pane on my project , but i will get times when the print preview is blank, if you hit cancel then print it will be good, but if you then hit cancel again and hit print again it will once again be blank
function PrintPaneScada(paneID) {
var splitter = $find("RadSplitter1");
var pane =
splitter.GetPaneById(paneID);
if (!pane) return;
var arrExtStylsheetFiles = getTelerikCssLinks2();
pane.Print(arrExtStylsheetFiles);
}

The problem is as followed:
I have 3 text boxes: Fee, Donation, Total.
Fee cannot be modified, and the user cannot type in this textbox
Donation starts at 0 and the user can change the value based on what they want to donate
Total needs to be updated based on what the user types in donation. It needs to be Donation+Fee
How can I use AJAX to make the Total textbox get updated on the fly based on what is entered in Donation?

I have a question about the behavior of the RadEditor control.
We a page in our website that contains a RadEditor
control. This page is on two different
servers representing two different environments. Test environment and Production
Environment. The page is the same page
in both environments.
Here is the quandary, the RadEditor control is behaving
differently on the two servers.
In the test Environment if I type the following into the
control:
Test
Test
Test
Test
And then look at the HTML I see:
Test<br />
Test<br />
Test<br />
Test<br />
As I would expect.
However in the Production Environment if I type
Test
Test
Test
Test
Then look at the HTML I see:
<p>Test </p>
<p>Test </p>
<p>Test </p>
<p>Test </p>
I am at a loss as to why the behavior is so different. Is there some configuration that could be
different between the servers / environments?
Why would the control behave differently like this?
Thanks for your help.
Gary Graham

Hello and thank you for taking your time to help me :
When the user is moving the appointment or resizing them, I'm displaying a javascript "confirm" that should impact the appointment to be updated
If the confirm returns true, I want to add a custom attribute to the appointment, else, I do nothing
But it seems that client-side modifications do not affect the appointment that is received on server-side
Here is my function for Moving (Resizing is pretty much the same) :
function ClientAppointmentMoveEndHandler(sender, args) { var app = args.get_appointment(); var confirmMessage = "Bla bla bla." + "\nWant to notify?"; if (confirm(confirmMessage)) { app.get_attributes().setAttribute("notifyModif", "true"); }}
Also tried to modify the subject in case it would be related to the attributes, but didn't work either
My server-side event handler is :
protected void RadScheduler1_AppointmentUpdate(object sender, AppointmentUpdateEventArgs e){ AppointmentInfo ai = FindById(e.ModifiedAppointment.ID); ai.CopyInfo(e.ModifiedAppointment); ai.ApplyChangesToDB();}
I'm using the debugger to see the state of e.ModifiedAppointment when reaching the first line of the handler, and neither the subject nor the Attributes collection are changed (though they should have been by my Javascript code)
How can I achieve that?
Also, if your solution could use a radconfirm instead of a confirm that would be awesome !
Thank you for your help