Angular 4+中Kendo Grid列单元格本地化货币格式化实现问询
Angular 4+ Kendo Grid 实现本地化货币列显示
当然可以实现啦!在Angular 4+版本的Kendo Grid里给指定列设置本地化格式的货币显示是非常常见的需求,我给你分享两种实用的实现方式:
方式一:利用列的原生format配置
这种方式最简单,直接通过Kendo Grid列的format属性结合本地化设置就能搞定:
- 首先确保项目中已经导入并注册了Kendo的国际化模块:
import { IntlModule } from '@progress/kendo-angular-intl'; @NgModule({ imports: [ // 其他模块... IntlModule ] }) export class YourModule { }
- 在Grid列定义中,设置货币格式和对应区域:
<kendo-grid-column field="productPrice" title="产品价格" format="{0:c}" [formatSettings]="{ locale: 'zh-CN' }"> </kendo-grid-column>
{0:c}是Kendo内置的货币格式占位符,会自动根据区域生成对应的货币符号和格式formatSettings里的locale参数可以指定目标区域,比如zh-CN对应人民币格式,en-US对应美元格式,按需调整即可
方式二:自定义单元格模板(更灵活)
如果需要对货币显示做额外的样式调整或逻辑处理,自定义单元格模板结合kendoCurrencyPipe管道是更好的选择:
<kendo-grid-column field="productPrice" title="产品价格"> <ng-template kendoGridCellTemplate let-dataItem> <span class="custom-currency">{{ dataItem.productPrice | kendoCurrency:'CNY':'symbol':'1.2-2':'zh-CN' }}</span> </ng-template> </kendo-grid-column>
管道参数说明:
- 第一个参数
CNY:货币代码(比如USD、EUR) - 第二个参数
symbol:显示货币符号(可选值:symbol/symbol-narrow/code) - 第三个参数
1.2-2:小数位数格式,意思是最少2位、最多2位小数 - 第四个参数
zh-CN:区域设置
额外提示
- 如果还没安装国际化包,先执行命令安装:
npm install @progress/kendo-angular-intl --save - 要是想全局统一设置默认区域,不用每个列都单独指定,可以在AppModule里配置:
import { IntlService } from '@progress/kendo-angular-intl'; export function intlServiceFactory() { const intlService = new IntlService(); intlService.localeId = 'zh-CN'; // 设置全局默认区域 return intlService; } @NgModule({ providers: [ { provide: IntlService, useFactory: intlServiceFactory } ] }) export class AppModule { }
内容的提问来源于stack exchange,提问作者ed-tester
相关产品推荐
相关产品推荐

