Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
255 views

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 If
 
End Sub

 

This is how the RadTreeView looks like right now:

Jiten
Top achievements
Rank 1
 answered on 05 Jan 2017
7 answers
417 views

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

Plamen
Telerik team
 answered on 05 Jan 2017
7 answers
762 views
Hi All,

              Is it possible to sort the radcombobox through client side script. I browsed regarding this, but not getting much information. Please help with few code snippets.

Regards,
Saravanan K
Ivan Danchev
Telerik team
 answered on 04 Jan 2017
1 answer
126 views
It seems like, when you have batch editing set to EditType Row, that the OnBatchEditClosing event fires once for each editable column in the grid. It would be nice if there were an event which fired only once for the row. This event would expose arguments allowing users to obtain the new/original values for each editable column in the row. In this way, we can capture a row being edited and perform some client-side actions based on this. As it stands, we would have to perform these actions for each individual cell, which sort of defeats the purpose of row-level batch editing.
Konstantin Dikov
Telerik team
 answered on 04 Jan 2017
3 answers
96 views

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 !

 

Anton
Telerik team
 answered on 04 Jan 2017
1 answer
74 views

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.

Rumen
Telerik team
 answered on 04 Jan 2017
5 answers
91 views

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);
}

Vessy
Telerik team
 answered on 04 Jan 2017
1 answer
1.1K+ views

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?

 

 

 

Viktor Tachev
Telerik team
 answered on 04 Jan 2017
3 answers
84 views

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

Vessy
Telerik team
 answered on 04 Jan 2017
6 answers
131 views

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

Anton
Telerik team
 answered on 04 Jan 2017
Narrow your results
Selected tags
Tags
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?