屏蔽 kendo 网格中的指定列

Masking a specified column in kendo grid

这是我的网格初始化:

@(Html.Kendo().Grid<UT.CRM.ViewModels.DemoUserListViewModel> ()
    .Name("demoUsers")
    .Columns(columns =>
    {
        columns.Bound(c => c.CustomerName).Title("Ad Soyad").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(c => c.Login).Title("Hesap").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(c => c.DayCount).Title("Toplam Gün").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(c => c.TradeCount).Title("Toplam İşlem").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(c => c.RegistrationDate).Title("Kayıt").Format("{0:dd.MM.yyyy}").Filterable(ftb => ftb.Cell(cell => cell.Operator("eq")));
        columns.Bound(c => c.Email).Title("E-Posta").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
        columns.Bound(c => c.Phone).Title("Phone").Filterable(ftb => ftb.Cell(cell => cell.Operator("contains")));
    })
    .HtmlAttributes(new { style = "height: 690px;" })
    .Scrollable()
    .Sortable()
    .Resizable(resize => resize.Columns(true))
    .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Read(read => read.Action("GetDemoUsersReport", "Reports"))
    )
)

如您所见,我有一列具有 phone 个值。我希望这些 phone 值的格式如下:

05356645879 -> ****664****

可能吗?

提前致谢,

尝试如下设置 ClientTemplate

columns.Bound(c => c.Phone).ClientTemplate(@"#: phone.replace(/^\d{4}|\d{4}$/g, \'****\') #").Title...

我无法用 ASP.Net 测试它,但 here is a demo 是纯 javascript。有什么问题请告诉我。

更新:我忘了说实现这一点的最好和更安全的方法是做同样的事情,但在你的服务器端。所以用户无法获取原始请求结果中的信息。但如果你觉得没必要,也没关系。