【发布时间】:2017-11-07 20:17:59
【问题描述】:
我在我的应用程序中使用 Telerik UWP RadDatagrid。在绑定到数据网格的项目源中有一个包含整数的列。这显示正确,即 1 显示为 1。但是单元格编辑器似乎使用 double 而不是 int。因此,如果我单击输入 1 而不是 1.00 的单元格,它不会提交更改。
有没有办法将内联编辑器的精度指定为整数而不是 DataGridNumericalColumn 的双精度?
【问题讨论】:
我在我的应用程序中使用 Telerik UWP RadDatagrid。在绑定到数据网格的项目源中有一个包含整数的列。这显示正确,即 1 显示为 1。但是单元格编辑器似乎使用 double 而不是 int。因此,如果我单击输入 1 而不是 1.00 的单元格,它不会提交更改。
有没有办法将内联编辑器的精度指定为整数而不是 DataGridNumericalColumn 的双精度?
【问题讨论】:
Numerical Column 的编辑是
RadNumericBox。值格式由ValueFormat 属性定义,默认值为{0,0:N2} 由RadNumericBox.cs 定义。这将显示为“1:00”。实际上将ValueFormat 更新为{}{0:N0} 将满足您的要求。您可以添加RadNumericBox 来检查结果。
<input:RadNumericBox
x:Name="numericBox2"
AllowNullValue="False"
ValueFormat="{}{0:N0}"
Watermark="Fill in the field" />
<input:RadNumericBox
x:Name="numericBox3"
AllowNullValue="False"
ValueFormat="{}{0:N2}"
Watermark="Fill in the field" />
由于Numerical Column 不提供ValueFormat 属性,因此很遗憾您可能需要重新编写Telerik 包来实现您自己的DataGridNumericalColumn(或者只需更改RadNumercBox 的默认值即可但可能不推荐)。具体实现请自行尝试。
【讨论】:
ValueFormat 更改为DataGridNumericalColumn 可以使其正确显示,但是当编辑器出现时,它仍然是默认格式。