2

Telerik mvc グリッドでカスタム ツールバー ボタンを使用しています。

例えば:

.ToolBar(toolBar =>
          {
toolBar.Custom().Url("#").ButtonType(GridButtonType.Text).Text("send to web service").HtmlAttributes(new {@onclick = "SendReportConfirmationDialog()"});

})

しかし、このコントロールには .hidden(true) または .enabled(false) プロパティがないため、特定のブール値に基づいて true または false でこのボタンを無効にしようとしています。

これが可能かどうか知っていますか?

4

2 に答える 2

4

そのような構成はありません。グリッドがロードされているとき (OnLoad イベント)、JavaScript で無効にすることができます。

$('.t-toolbar .t-button').addClass('t-state-disabled').click(function(){return false});

上記は、ツールバーのすべてのボタンを無効にします。より具体的には、HtmlAttributes メソッドを介してコマンド ボタンにクラスを割り当てることができます。

tb.Custom().Text("test").HtmlAttributes(new{ @class="myTbCommand"})

そしてセレクターを変更します:

$('.myTbCommand').addClass('t-state-disabled').click(function(){return false});

これが役立つかどうかはわかりませんが、他に方法はないと思います。

于 2012-09-11T21:06:51.853 に答える
0

解決策は非常に簡単でした:

コントローラーの ViewBag からの値に基づいて、メソッド チェーンで if 条件を使用します。これは機能し、カスタム ツールバーにボタンは表示されません。

 .ToolBar(toolBar =>
      {
          if (ViewBag.gridEditMode != false)
          {
              toolBar.Custom().Url("#").Text("Send").HtmlAttributes(new {@onclick = "SendXSD()"});
          }
      })
于 2012-09-12T10:47:41.657 に答える