【问题标题】:RadGridView Thousands Separator for Decimal Column While Editing编辑时小数列的 RadGridView 千位分隔符
【发布时间】:2023-04-04 17:22:01
【问题描述】:

我可以像这样为我的小数列添加千位分隔符:

var decimalColumn = radGridView1.Columns["DecimalColumn"] as GridViewDecimalColumn;
decimalColumn.ThousandsSeparator = true;
decimalColumn.FormatString = "{0:n0}";

它工作正常。但是当我处于编辑模式并输入例如1000000 时,编辑时将不是千位分隔符。所以用户可能会感到困惑。

如何在编辑时将thousands separator 应用于十进制列?有内置功能吗?

【问题讨论】:

    标签: c# winforms telerik radgridview


    【解决方案1】:

    如果您想显示千位分隔符,确实可以将列的 ThousandsSeparator 属性设置为 true。预计这也会影响编辑器。

    但是,RadGridView 允许您在 CellEditorInitialized 事件中访问编辑器。因此,您可以为编辑器显式启用它:

            public RadForm1()
        {
            InitializeComponent();
    
            GridViewDecimalColumn decimalColumn = radGridView1.Columns["UnitPrice"] as GridViewDecimalColumn;
            decimalColumn.ThousandsSeparator = true;
            decimalColumn.FormatString = "{0:n0}"; 
    
            this.radGridView1.CellEditorInitialized += RadGridView1_CellEditorInitialized;
        }
    
        private void RadGridView1_CellEditorInitialized(object sender, GridViewCellEventArgs e)
        {
            GridSpinEditor spinEditor = e.ActiveEditor as GridSpinEditor;
            if (spinEditor!=null)
            {
                spinEditor.ThousandsSeparator = true;
            }
        }
    

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

    【讨论】:

    • 在旋转编辑器中输入时不会显示千位分隔符。只是在编辑和键入后,它会出现。我在打字时需要它。
    • 也许更好,我怎样才能得到GridSpinEditor 的TextBoxItem,所以我可以为它触发一个TextChanged 事件。
    • RadTextBoxItem 可以通过 RadSpinEditorElement 访问: RadSpinEditorElement element = spinEditor.EditorElement as RadSpinEditorElement; RadTextBoxItem tbItem = element.TextBoxItem;
    猜你喜欢
    • 1970-01-01
    • 2013-11-07
    • 2021-04-19
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    相关资源
    最近更新 更多