Unplanned
Last Updated: 28 Jul 2026 07:07 by Johannes
Created by: Johannes
Comments: 0
Category: MaskedTextBox
Type: Bug Report
1

The MaskedTextBox caret (cursor) jumps to the last position on focus and every key stroke when the component is inside a Grid EditorTemplate and the Grid EditMode is InCell.

A possible workaround is to use inline or popup editing.

Test Page:

<TelerikGrid Data="@GridData"
             EditMode="@GridEditMode.Incell"
             OnUpdate="@OnGridUpdate"
             OnCreate="@OnGridCreate">
    <GridToolBarTemplate>
        <GridCommandButton Command="Add">Add Item</GridCommandButton>
    </GridToolBarTemplate>
    <GridColumns>
        <GridColumn Field="@nameof(Product.Name)" />
        <GridColumn Field="@nameof(Product.MaskedValue)">
            <EditorTemplate>
                @{ var dataItem = (Product)context; }
                <TelerikMaskedTextBox @bind-Value="@dataItem.MaskedValue"
                                      Mask="AAA-AAA" />
            </EditorTemplate>
        </GridColumn>
    </GridColumns>
</TelerikGrid>

@code {
    private List<Product> GridData { get; set; } = new();

    private int LastId { get; set; }

    private void OnGridCreate(GridCommandEventArgs args)
    {
        var createdItem = (Product)args.Item;

        createdItem.Id = ++LastId;

        GridData.Insert(0, createdItem);
    }

    private void OnGridUpdate(GridCommandEventArgs args)
    {
        var updatedItem = (Product)args.Item;
        var originalItemIndex = GridData.FindIndex(i => i.Id == updatedItem.Id);

        if (originalItemIndex != -1)
        {
            GridData[originalItemIndex] = updatedItem;
        }
    }

    protected override void OnInitialized()
    {
        for (int i = 1; i <= 5; i++)
        {
            GridData.Add(new Product()
            {
                Id = ++LastId,
                Name = $"Product {LastId}",
                MaskedValue = $"ABC-{LastId:D3}"
            });
        }
    }

    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; } = string.Empty;
        public string MaskedValue { get; set; } = string.Empty;
    }
}

Unplanned
Last Updated: 20 May 2024 13:23 by Shannon

When the user enters a value, clicks out of the Masked Textbox and then back into it, the cursor is placed at the beginning of the input rather than at the end of the value.

This issue only happens when:

  • The MaskedTextBox does not have a mask specified.
  • The MaskedTextBox does not have an initial value.

Reproduction: https://blazorrepl.telerik.com/meEpmEbR20id24Ss02

Unplanned
Last Updated: 07 Jan 2021 19:46 by ADMIN
Created by: Jason
Comments: 0
Category: MaskedTextBox
Type: Feature Request
11
I would like to prevent the user from entering certain characters. At the moment, the closest feature is using validation to inform them of invalid input after the fact, but I'd like to prevent them from inputting it in the first place. Being able to define my own rules like in React (see the second example here) would be nice.