You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazorise DataGridNumericColumn的DisplayFormat属性失效求助

解决Blazorise DataGridNumericColumn Decimal(18,4)显示问题

问题根源

Blazorise的DataGridNumericColumn不支持ASP.NET Core的DisplayFormat属性,你之前设置DisplayFormat="n2"无效是因为组件本身不识别这个参数,需要用它自带的Format参数来控制数字格式。

解决方案

1. 使用组件自带的Format参数

将DisplayFormat替换为Format,用自定义格式字符串实现千分位空格、小数保留2-4位的效果:

<DataGridNumericColumn TItem="Job" Field="@nameof(Job.Amount)" Format="# ##0.00##" />
  • # ##0:整数部分用空格作为千位分隔符,确保至少显示1位整数
  • .00##:小数部分至少显示2位、最多显示4位,适配你需要的1.00或123 456 789.1234格式

2. 手动模板格式化(更灵活)

如果组件的Format参数无法满足复杂需求,可使用DisplayTemplate手动控制显示逻辑:

<DataGridColumn TItem="Job" Field="@nameof(Job.Amount)">
    <DisplayTemplate>
        @string.Format(CultureInfo.InvariantCulture, "# ##0.00##", context.Amount)
    </DisplayTemplate>
</DataGridColumn>

指定CultureInfo.InvariantCulture能确保格式不受系统区域设置影响,稳定输出空格分隔的千分位。

3. 修正默认显示为1,0000的问题

你之前看到的1,0000是组件默认使用当前区域的逗号千分位分隔符,且显示全部4位小数导致的,使用上面的自定义格式即可替换分隔符并控制小数位数。

内容的提问来源于stack exchange,提问作者John Groome

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 04:15:03