【问题标题】:radgridview (telerik winforms) accept numbersradgridview (telerik winforms) 接受数字
【发布时间】:2021-09-22 18:24:58
【问题描述】:

我正在尝试创建一个包含几列的 radgridview,其中一列是电话号码,并且应该只接受数字。这是我的代码的一部分:

private void radGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e)
    {
        if (e.Column.Name == "column1")
        {
            var editor = e.ActiveEditor as RadTextBoxEditor;
            var element = editor.EditorElement as RadTextBoxEditorElement;

            element.TextBoxItem.KeyPress -= TextBoxItem_KeyPress;

            element.TextBoxItem.KeyPress += TextBoxItem_KeyPress;
        }
    }

    private void TextBoxItem_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
        {
            e.Handled = true;
        }
    }

当我第一次单击 column1 中的一个单元格时,它会起作用。但是,当我想编辑一个选中的单元格(不点击)时,如果我按下任何键(甚至是非数字键),它就会接受第一个键。显然 CellEditorInitialized 在第一次按键后被触发,这是不希望的。你能帮我解决这个问题吗?

【问题讨论】:

标签: c# winforms telerik


【解决方案1】:

来自 Telerik UI for WinForms 套件的 RadGridView 提供了 GridViewMaskBoxColumn。它允许对文本数据进行受限编辑。我相信它会更适合你的电话栏: https://docs.telerik.com/devtools/winforms/controls/gridview/columns/column-types/gridviewmaskboxcolumn

您可以使用 GridViewMaskBoxColumn 的 Mask 和 MaskType 属性设置掩码。您可以在 RadMaskEditBox 文档部分找到有关这些属性的可能值的更多信息: https://docs.telerik.com/devtools/winforms/controls/editors/maskededitbox/getting-started https://docs.telerik.com/devtools/winforms/controls/editors/maskededitbox/standard-masks

我希望这些信息对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多