将ClientTemplate添加到kendo网格UI中的自定义命令

时间:2012-09-20 20:52:58

标签: asp.net-mvc razor telerik-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"))
    )
  )

问题:   如何将客户端模板添加到我的自定义命令(停用),以便根据帐户是否处于活动状态来切换按钮上的文本?

1 个答案:

答案 0 :(得分:0)

我认为更改按钮文本的最佳方法是在绑定到click事件的javascript函数中执行此操作:

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