【问题标题】:Gridviewcell showing wrong thousand seperatorGridview 单元格显示错误的千位分隔符
【发布时间】:2020-09-11 11:21:24
【问题描述】:

我有一个带有多个十进制列的 radgridview(来自 telerik,但它就像一个 DataGrid)。它们应该像这样显示:10'000.00

这可以正常工作:

<telerik:GridViewDataColumn Header="Total" DataMemberBinding="{Binding Total, StringFormat=N2}">

但如果我编辑单元格,它会以错误的格式显示:

所以我尝试创建一个 CellEditTemplate:

<telerik:GridViewDataColumn Header="Betrag Holzbau" DataMemberBinding="{Binding Total, StringFormat=N2}">
     <telerik:GridViewDataColumn.CellEditTemplate>
         <DataTemplate>
             <telerik:RadWatermarkTextBox Text="{Binding Total, StringFormat=N2}"/>
         </DataTemplate>
     </telerik:GridViewDataColumn.CellEditTemplate>
 </telerik:GridViewDataColumn>

但这显示了错误的千位分隔符('而不是'):

如何将格式始终设置为此 10'000.00

【问题讨论】:

  • 您使用的是什么文化?尝试设置RadWatermarkTextBoxLanguage 属性或使用TextBox
  • 我使用的是瑞士文化 (de-ch)。我已经尝试过一个文本框,但它无法使用它。
  • 您是否尝试将Language 属性设置为“de-ch”?您是否尝试设置列的DataStringFormat 属性?
  • 我在列上设置了DataFormatString="{}{0:N2}"。但它没有用。我应该只在文本框或 RadGridView 上设置语言
  • TextBox.

标签: c# wpf telerik


【解决方案1】:

您应该能够将TextBoxLanguage 属性设置为CellEditTemplate 中的文化,以根据该文化格式化数字。

那么你“只”需要找到一种使用'create your own custom culture 的文化。

另一个选项可以自己格式化值,例如使用值转换器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    相关资源
    最近更新 更多