Scheduler timeline Reversed

4 posts, 1 answers
  1. arsalanelec
    arsalanelec avatar
    2 posts
    Member since:
    Mar 2015

    Posted 25 May Link to this post

    Hi,

    i have a problem with timeline in scheduler. the timline start to end is from right to left instead of left to right. i set the "righrToLeft" to false and also i changed the culture to en-US but no effect.

    another question is about the Appointment text in Persion or Arabic.how can show the Text Correctly? currectly the Words are in Revese direction. i just found a solution by disable the useHtml in appointmentElement.

    please help me!

    thanks in advanced

  2. Dess
    Admin
    Dess avatar
    2107 posts

    Posted 25 May Link to this post

    Hello , 

    Thank you for writing.  

    RadScheduler supports the right to left mode. Please refer to the following help article: http://docs.telerik.com/devtools/winforms/scheduler/localization/right-to-left-support
     
    As to the question about reversed text of the appointments, it is a known issue. You can track its progress, subscribe for status changes and add your comments on the following link: https://feedback.telerik.com/Project/154/Feedback/Details/174806-fix-radscheduler-persian-text-is-rendered-in-reversed-order-in-appointmentelem
    As you have already found out, the possible solution is to set the AppointmentElement.UseHtml property to false.

    I hope this information helps. Should you have further questions I would be glad to help.
    Regards,
    Dess
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
  3. arsalanelec
    arsalanelec avatar
    2 posts
    Member since:
    Mar 2015

    Posted 25 May in reply to Dess Link to this post

    Thanks for your answer. my problem was in    :

     ((Telerik.WinControls.UI.RadSchedulerElement)(this.radScheduler1.GetChildAt(0))).RightToLeft = true;

    it changed accidentally in designer. but i found there is a bug in RadScheduler  RightToLeft  mode. the appointment mouse resizing working in reverse so if i want to append to the left i should drag the right button and vise versa! its not depend on text language.

  4. Answer
    Dess
    Admin
    Dess avatar
    2107 posts

    Posted 26 May Link to this post

    Hello,

    Thank you for writing back.

    I have logged it in our feedback portal and I have added a vote for it on your behalf. You can track its progress, subscribe for status changes and add your comments on the following link - feedback item.

    I have also updated your Telerik points.

    Currently, the possible solution that I can suggest is to use a custom AppointmentResizingBehavior:  

    this.radScheduler1.SchedulerElement.ResizeBehavior = new MyResizingBehavior(this.radScheduler1.SchedulerElement);


    public class MyResizingBehavior : AppointmentResizingBehavior
    {
        RadScheduler scheduler;
     
        public MyResizingBehavior(SchedulerVisualElement activeOwner)
            : base(activeOwner)
        {
            scheduler = activeOwner.Scheduler;
        }
     
        protected override bool UpdateMouseCursor(Point mousePosition, Rectangle nearRect, Rectangle farRect)
        {
            bool result = base.UpdateMouseCursor(mousePosition, nearRect, farRect);
            if (scheduler.RightToLeft == RightToLeft.Yes )
            {
                FieldInfo leftFI = typeof(AppointmentResizingBehavior).GetField("leftResize", BindingFlags.NonPublic | BindingFlags.Instance);
                FieldInfo rightFI = typeof(AppointmentResizingBehavior).GetField("rightResize", BindingFlags.NonPublic | BindingFlags.Instance);
     
                if (nearRect.Contains(mousePosition) && scheduler.Cursor == Cursors.SizeWE)
                {
                    leftFI.SetValue(this, false);
                    rightFI.SetValue(this, true);
                }
                else if (farRect.Contains(mousePosition) && scheduler.Cursor == Cursors.SizeWE)
                {
                    leftFI.SetValue(this, true);
                    rightFI.SetValue(this, false);
                }
            }
            return result;
        }
    }

    Regards,
    Dess
    Progress Telerik
    Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Back to Top