Right to Left

Hi,

First, Congratulation for this nice component I was waiting for this.

1. Do you plan to support Right to Left on DataForm ?
2. Is it possible to move the label to the right ?
3. Do you plan to support MaskedEdit in DataForm ?

Thanks


4 Replies

SV Srinivasan Vasu Syncfusion Team March 7, 2018 12:31 PM UTC

Hi Yossef, 
 
Thanks for contacting Syncfusion support. 
Do you plan to support Right to Left on DataForm ? 
We have logged this feature in our side and You can track the progress of the reported feature from the below link.  
 
 
The feature will be available in our upcoming 2018 Vol2 release. 
Is it possible to move the label to the right? 
 
SfDataForm don’t have support for setting LabelPosition is Right. Could you please let us know the specific purpose for setting LabelPosition is Right. Because, it will be included in RTL(Right to Left) support of SfDataForm. 
Do you plan to support MaskedEdit in DataForm ? 
We have logged this feature in our side and You can track the progress of the reported feature from the below link.  
 
 
The feature will be available in our upcoming 2018 Vol2 release. 
 
 
Regards, 
Srinivasan 
 



YZ Yossef Zaig March 7, 2018 01:09 PM UTC

Hi,

Thanks, That's good news.

Regarding section 2, With RTL support, this request is not needed.

We have Input Form with several Text entries, some of them will contain Hebrew like FirstName, LastName etc... and some of them will contain English like email address
So, Will it be possible to set Entry input language for Text Entry and Input direction LTR/RTL?
Entry 1: RTL (hebrew)
Entry 2: LTR (english)

Thanks.


SV Srinivasan Vasu Syncfusion Team March 15, 2018 03:54 AM UTC

Hi Yossef, 
 
Sorry for the delay. 
 
In SfDataForm, we do not have support to change the editor input entry (RTL / LTR) based on culture settings. But your requirement can be achieved by registering CustomEditor in SfDataForm with CustomEntry control and you can change the InputDirection for Entry control in all cross platforms OnElementChanged method. 
 
Please refer the below code example 
 
Xamarin.Android 
 
using Xamarin.Forms; 
using Xamarin.Forms.Platform.Android; 
[assembly: ExportRenderer(typeof(MyEntry), typeof(MyEntryRenderer))] 
namespace GettingStarted 
{        
    public class MyEntryRenderer : EntryRenderer 
    { 
 
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
        { 
            base.OnElementChanged(e); 
            if (e.NewElement != null && this.Control != null) 
            { 
                this.Control.Gravity = Android.Views.GravityFlags.Right;                    
            } 
        } 
    }    
} 
 
Xamarin.iOS 
 
using Xamarin.Forms.Platform.iOS; 
[assembly: ExportRenderer(typeof(MyEntry), typeof(MyEntryRenderer))] 
 
namespace GettingStarted 
{ 
    public class MyEntryRenderer : EntryRenderer 
    { 
 
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
        { 
            base.OnElementChanged(e); 
            if (e.NewElement != null && this.Control != null) 
            { 
                this.Control.TextAlignment = UITextAlignment.Right;                 
            } 
        } 
    } 
 
} 
 
Xamarin.UWP 
 
using Xamarin.Forms.Platform.UWP; 
[assembly: ExportRenderer(typeof(MyEntry), typeof(MyEntryRenderer))] 
 
namespace GettingStarted 
{ 
    public class MyEntryRenderer : EntryRenderer 
    { 
 
        protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
        { 
            base.OnElementChanged(e); 
            if (e.NewElement != null && this.Control != null) 
                this.Control.FlowDirection = Windows.UI.Xaml.FlowDirection.RightToLeft; 
        } 
    } 
} 
 
Xamarin.Forms 
 
          public MainPage() 
        { 
            InitializeComponent(); 
            var expenseInfo = new ExpenseInfo(); 
            // CustomEditor Registration 
            dataForm.RegisterEditor("Hebrew", new CustomEditor(dataForm)); 
 
            dataForm.RegisterEditor("Name", "Hebrew");             
            dataForm.DataObject = expenseInfo;             
        }         
        public class CustomEditor : DataFormEditor<MyEntry> 
        { 
            public CustomEditor(SfDataForm dataForm) : base(dataForm) 
            { 
 
            } 
         
            protected override void OnInitializeView(DataFormItem dataFormItem, MyEntry view) 
            { 
                view.Text = "Items"; 
            } 
            protected override MyEntry OnCreateEditorView() 
            { 
                return new MyEntry(); 
            } 
        } 
 
       public class MyEntry : Entry 
       { 
        /// <summary> 
        /// Initializes a new instance of the <see cref="SfEntry"/> class. 
        /// </summary> 
        public MyEntry() 
        {             
             
        } 
    } 
 
 
Note: 
We have ensured the custom TextEntry (RTL/LTR) based on culture settings. 
 
Could you please let us know whether provided sample meets your requirement? So that it will be helpful for us to analyze and provide you the better solution. 
 
Regards, 
Srinivasan 



JM Jeyasri M Syncfusion Team June 26, 2018 05:48 AM UTC

Hi Yossef 
 
Sorry for the inconvenience caused.  
 
Since we have worked other high priority planned tasks such as stability improvements, IPropertyValueConverter in XForms and Password Editor support, we are unable proceed this features MaskedEdit and Right to Left in SfDataForm. We have prioritized to implement the same in our upcoming Volume 3 release. We will let you know once the implementation has done.  We appreciate your patience until then.  
 
Regards,  
Jeyasri M.  


Loader.
Up arrow icon