格式化剑道网格以显示美元符号并允许最多两位小数?

Posted

技术标签:

【中文标题】格式化剑道网格以显示美元符号并允许最多两位小数?【英文标题】:Format Kendo Grid to display dollars sign and allow up to two decimal? 【发布时间】:2013-09-14 17:55:44 【问题描述】:

我有一个像这样创建的剑道网​​格:

function drawInvoiceTable() 
    invoiceTable = $('#invoiceGrid').kendoGrid(
        sortable: true,
        pageable: true,
        dataSource: 
            data: getData(),
            pageSize: 10,
            schema: 
                model: 
                    id: 'test',
                    fields: 
                        active: false
                    
                
            
        ,
        columns: [
              template: "<input type='checkbox' id='chkInvoices' class='invoiceDisplay' name='chkInvoices' #= active ? checked='checked' : '' #/>", width: 30 ,
             field: 'accountNumber', title: 'Account', attributes:  'class': 'accountnumber' , sortable: true ,
             field: 'transactionDate', title: 'Trans Date', attributes:  'class': 'transdate' , width: 100, sortable: true ,
             field: 'TransType', title: 'Type', attributes:  'class': 'transType' , width: 60, sortable: true ,
             field: 'TransReferenceNumber', title: 'Reference Number', attributes:  'class': 'refnumber' , width: 135, sortable: true ,
             field: 'transactionDebitAmount', title: 'Amount', attributes:  'class': 'amount' , width: 90, sortable: true ,
             field: 'openBalance', title: 'Balance', width: 90, attributes:  'class': 'balance' , template: '#= kendo.format("0:p", openBalance) #', sortable: true ,
             field: 'discountAmount', title: 'Discount', format: "0:c", attributes:  'class': 'discount', 'data-format': 'c' , width: 90, sortable: false ,
             field: 'discountApplied', title: 'Discount Applied', width: 95, attributes:  'class': 'discapplied' , sortable: false ,
             field: 'paymentApplied', title: 'Payment Applied' , width: 95, attributes:  'class': 'paymentapplied' , sortable: false ,
             field: 'discountDate', title: 'Discount Date', attributes:  'class': 'discountDate'  ,
             field: 'dueDate', title: 'Due Date', width: 90, sortable: true             
        ]
    );

    grid = $('#invoiceGrid').data('kendoGrid');
    dataSource = grid.dataSource;
    data = dataSource.data();

如何将某些列中的值设置为美元符号格式并允许最多 2 位小数,例如 $12541.23?

【问题讨论】:

【参考方案1】:

在列定义中使用format: "0:c2":

 field:"price", title:"Price", format:"0:c2" ,

c 代表货币,2 是小数位数

【讨论】:

我尝试了您上面的建议,但仍然没有运气。请看我的 jsfiddle here 您需要说该字段的类型为number。在此处查看 jsfiddle.net/JFy2C/8 以修改 discountAmount(和其他字段)。 这些格式字符串是否有任何文档?找不到 如果有人仍然需要格式化文档,可以在建议的链接下找到here。【参考方案2】:

您可能希望将 column.format 设置为 "0:c2" “c2”是数字格式(货币,2位小数),即defined here。

【讨论】:

我尝试了您上面的建议,但仍然没有运气。请看我的 jsfiddle here

以上是关于格式化剑道网格以显示美元符号并允许最多两位小数?的主要内容,如果未能解决你的问题,请参考以下文章

excel保留整数17位,

EXCEL怎么让小数后两位显示0

Excel设置了单元格格式为保留数字保留两位小数,可是怎么弄都是显示整数,没有显示小数。求助!

使用python以两位小数格式化excel数字

欧元格式剑道网格列 Angular JS

格式化剑道数字文本框