簡體   English   中英

動態Kendo網格中的值格式

[英]Formatting of values in dynamic Kendo grid

我試圖弄清楚如何在綁定到動態數據源的Kendo網格中格式化單個值。 挑戰在於列不是固定的,並且整個列的格式甚至不一致。

據我所知,劍道支持使用以下列級別的格式字符串

columns:[{field:Name,format:{1:c}}]

但是,此解決方案不合適,因為它會設置整個列的格式。

我還發現了一個基於模板的解決方案,可讓您使用像這樣的符號手動格式化數據

columns:[{field:Name,template: "#= kendo.toString(kendo.parseDate(SomeDate, 'yyyy-MM-dd')}]

但是,這對我來說也很難編碼,因為它在列中采用單一類型。

我正在尋找一種在數據源本身中指定值的類型的方法。 那可能嗎?

像這樣

data = [{field:SomeField,Value:4,Format:{1:c}}]

事實證明,您可以使用自定義模板解決此問題。 這將對每個值運行格式化。

for (var c = 0; c < grid.Cols.length; c++) {
    grid.Cols[c].template = "#= FormatValue(" + grid.Cols[c].field + ")#";
}


function FormatValue(value) {
    return kendo.toString(value, "c0")//currency formatting 
}

如果要綁定動態數據源,則無需格式化列或字段中的值。 它將根據數據自動調整。 您應該使用此模式

                    fields: {

                                EventID: { editable: true, nullable: false },
                                EventName: { validation: { required: true} },
                                UserID: { validation: { required: true} },
                                EventDate: {  validation: { required: true} },
                                EventTimeFrom: { validation: { required: true} },
                                EventTimeTo: {  validation: { required: true} }
                            }

               columns: [
                        { field: "EventID", title: "Event ID" },
                        { field: "EventName", title: "Event Name" },
                        { field: "UserID", title: "User ID" },
                        { field: "EventDate", title: "Event Date" },
                        { field: "EventTimeFrom", title: "Start Time" },
                        { field: "EventTimeTo", title: "End Time" },
                        ],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM