3

ここに私の剣道グリッドコードがあります:

@(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"))
    )
  )

質問: アカウントがアクティブかどうかに基づいてボタンのテキストを切り替えることができるように、カスタム コマンド (非アクティブ化) にクライアント テンプレートを追加するにはどうすればよいですか?

4

1 に答える 1

0

ボタンのテキストを変更する最良の方法は、クリック イベントにバインドされた JavaScript 関数でこれを行うことだと思います。

    function deActivatePaymentAccount(e) {
        var $btn = $(e.target);
        $btn.text() === "DeActivate" ? $btn.text("Activate") : $btn.text("DeActivate");
        // some other code here
    }
于 2012-09-21T09:38:21.857 に答える