kendo ui:如何进行默认排序,电话号码格式化并将单词null替换为none

coo*_*rit 1 formatting jquery user-interface asp.net-mvc-3 kendo-ui

在我的代码中,我想做网格表,默认排序按姓氏升序,电话号码格式化为(xxx)-xxx-xxxx并将单词null替换为none,例如某些mobiel号为null,我想显示没有

{
                    field: "LName",
                    width: 100,
                    title: "Last Name",
                    defaultSorting: true

                }, {
                    field: "DateOfBirth",
                    width: 100,
                    title: "Date of Birth",
                    type: 'date',
                    template: '#= kendo.toString(DateOfBirth,"MM/dd/yyyy") #'

                }, {
                    field: "Email",
                    width: 230,
                    title: "Email"
                }, {
                    field: "MobileNumber",
                    width: 100,
                    title: "Mobile Number"


                },
Run Code Online (Sandbox Code Playgroud)

任何人之前做过这个,或者有想法plz帮助

小智 5

数据源上设置默认排序,可以这样完成:

sort: { field: "LName", dir: "asc" }
Run Code Online (Sandbox Code Playgroud)

格式化电话号码有点棘手,因为没有内置支持格式化它们.您必须将数字拉开,然后您可以使用格式化功能格式化数字(假设您的数字格式为1234567890):

function formatPhoneNumber(phoneNumber) {
    var piece1 = phoneNumber.substring(0, 3); //123
    var piece2 = phoneNumber.substring(3, 6); //456
    var piece3 = phoneNumber.substring(6); //7890

    //should return (123)456-7890
    return kendo.format("({0})-{1}-{2}", piece1, piece2, piece3);
}
Run Code Online (Sandbox Code Playgroud)

要将null替换为null,请使用其他模板函数.这也可以应用电话号码格式:

template: '#= (MobileNumber) ? formatPhoneNumber(MobileNumber) : "none" #'
Run Code Online (Sandbox Code Playgroud)

您需要确保formatPhoneNumber函数具有作用域,以便kendo模板可以在绑定时访问它.