WPF学习笔记(7):DataGrid中数字自定义格式显示

DataGrid中数据显示如下图,数据格式比较杂乱。希望达到以下要求:(1)所有数据保留两位小数;(2)超过1000的数字显示千分位;(3)如果数据为0,不显示。

首先想到用StringFormat进行格式化:

 <DataGridTextColumn Header="借方金额" Binding="{Binding Path=FDebit, StringFormat={}{0:N2}}" Width="200" ElementStyle="{StaticResource dgCellRigth}"/>

 

效果如下图,希望实现的要求(1)和(2)达到了,但(3)如果数据为0,不显示的要求没有达到。

 

改为以下方法再试(格式代码分3段,分别为正数格式、负数格式、0格式):

Binding="{Binding Path=FDebit, StringFormat={}{#,##0.00;-#,##0.00;#}}"

提示代码出错,删除掉格式代码中的逗号后则正常:

Binding="{Binding Path=FDebit, StringFormat={}{###0.00;-###0.00;#}}"

如此一来,虽然数字0不显示了,但千分位也不显示了。再次尝试将其中的花括号改为单引号,终于实现了预期要求。

<DataGridTextColumn Header="借方金额" Binding="{Binding Path=FDebit, StringFormat='#,##0.00;-#,##0.00;#'}" Width="200" ElementStyle="{StaticResource dgCellRigth}"/>

效果如下:

 

转载于:https://www.cnblogs.com/lylgt/p/10795106.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值