格式电话Telerik MVC Grid Client.Template

时间:2011-12-02 19:39:46

标签: string-formatting telerik-grid telerik-mvc

如何格式化电话号码从xxxxxxxxxx到(xxx)xxx-xxxx

在telerik MVC Grid .client.template。

我试过这样的事情。这是行不通的

string formatPattern = @"(\d{3})(\d{3})(\d{4})";

 columns.Bound(e=>e.ID)
 .ClientTemplate(Html.Raw(String.Format("{0:###-###-####}", "<#= Telephone #>") + "<br />"      + Regex.Replace("<#= Fax #>", formatPattern, "($1) $2-$3")).ToString()).Title("Phone / Fax");

我尝试过两种方式String.format和Regex.Replace

我也试过$.telerik.formatString('{0:###-###-####}'<#= telephone =>)

但没有用。

1 个答案:

答案 0 :(得分:2)

我用以下代码完成了这项工作。

在Telerik Grid中,像这样绑定列

 .ClientTemplate("<#= GetPhoneFaxTemplate(data) #>").Title("Phone / Fax");

脚本就像这样

function GetPhoneFaxTemplate(data) {
        if (isNumeric(data.Telephone)) {
            var phone = $.telerik.formatString('{0:(###) ###-####}', Number(data.Telephone))
        }
        else {
            phone = data.Telephone;
        }
        if (isNumeric(data.Fax)) {
            var fax = $.telerik.formatString('{0:(###) ###-####}', Number(data.Fax))
        }
        else {
            fax = data.Fax;
        }
        template = phone + "<br />" + fax;
        return template;
    }
    function isNumeric(n) {
        return !isNaN(parseFloat(n)) && isFinite(n);
    }

那就是yureka!