在kendo网格UI中自定义命令时添加ClientTemplate

3

这是我的Kendo Grid代码:

@(Html.Kendo().Grid(Model)
    .Name("paymentGrid")
    .Columns(columns =>
    {
      columns.Bound(p => p.AccountName).Title("Account Name");
      columns.Bound(p => p.Active).Title("Active").ClientTemplate("<div>#=Active ? 'Active' : 'Inactive'#</div>");
      columns.Command(command => command.Custom("DeActivate").Click("deActivatePaymentAccount").Text("DeActivate")).Title("DeActivate");
    })
    .Filterable()
    .Sortable()
    .Pageable(paging => paging.Enabled(true).PageSizes(true).Messages(messages => messages.Empty("No accounts found")))
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .DataSource(dataSource => dataSource
      .Ajax()
      .ServerOperation(false)
      .Model(model =>
      {
        model.Id(p => p.AccountId);
      })
      .Update(update => update.Action("EditAccount", "Account"))
    )
  )

问题: 如何在自定义命令(停用)中添加客户端模板,以使按钮上的文本根据帐户是否激活而切换?

你能解决这个问题吗? - ljubomir
1个回答

0

我认为改变按钮文本的最佳方式是在绑定到点击事件的JavaScript函数中执行:

    function deActivatePaymentAccount(e) {
        var $btn = $(e.target);
        $btn.text() === "DeActivate" ? $btn.text("Activate") : $btn.text("DeActivate");
        // some other code here
    }

嗨,Samuel,感谢你的回答 - 我已经使用JavaScript函数完成了这个任务。但是我想像我的其他绑定列“Active”一样使用客户端模板来完成它。 - Vijay V

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接