Articles in this section
Category / Section

How to customize the Up key behavior in the GridTextColumn?

1 min read

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

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied