We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to customize the Up key behavior in the GridTextColumn?

Platform: WinRT |
Control: SfDataGrid |
Published Date: August 10, 2015 |
Last Revised Date: June 22, 2021 |
.NET Framework: 4.5

You can customize the Up key behavior like moving the cursor to end of the text (Normally, the cursor moves to the start index of the text) with editor in the GridTextColumn by deriving a new class from the GridCellTextBoxRenderer and override the OnWireEditUIElement virtual method as follows,

 C# 

public class GridCellTextBoxRendererExt : GridCellTextBoxRenderer
  {
            int keyCount = 0;
            protected override void OnWireEditUIElement(TextBox uiElement)
            {
                // Wiring KeyUp event when UP arrow key is pressed
                uiElement.KeyUp += uiElement_KeyUp;
                keyCount = 0;
            }
            void uiElement_KeyUp(object sender, KeyRoutedEventArgs e)
            {
                // Executes for the first time while Up key is pressed
                if (e.Key == Key.Up && keyCount == 0)
                {
                    // Sets the Text length to Selection Length
                    (sender as TextBox).SelectionLength = (sender as TextBox).Text.Length;
                    keyCount++;
                }
                // Executes for the second time while Up Key is pressed.
                else if (e.Key == Key.Up && keyCount == 1)
                {
                    // Sets the Text length to SelectionStart
                    (sender as TextBox).SelectionStart = (sender as TextBox).Text.Length;
                }
            }
     }

 

Refer to the following code example to remove the default GridCellTextBoxRenderer and add the customized GridCellTextBoxRendererExt to the SfDataGrid.CellRenderer collection.

C#

            //Removes the TextBoxRenderer
            grid.CellRenderers.Remove("TextBox");
            //Adds the Customized TextBoxRenderer
            grid.CellRenderers.Add("TextBox", new GridTextBoxRendererExt());

 

Note:

You can do the same for all Editor Column in the SfDataGrid by overriding the corresponding Renderer.

 

Sample Links:

WRT

UWP

ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile