2017-09-24 1 views
1

Kendo Gridのすべてのチェックボックスを選択すると、progress/spinnerを表示しようとしています。kendo.ui.progress($("#grid"), true)剣道:データグリッドですべての行を選択するローディングスピナーgifを表示する方法

select All/ deselect All check boxをクリックするとスピナー/プログレスが表示されません。カーソルが待ち状態に変わらない。以下は

私のコードです:

$(document).ready(function() { 
     $("#grid").on("click", ".row-checkbox", selectRow); 
     $('#checkAllBoxes').change(function (ev) { 
      kendo.ui.progress($("#grid"), true); 
      $('html').css("cursor", "wait"); 
      var checked = ev.target.checked; 
      $('.row-checkbox').each(function (idx, item) { 
       if (checked) { 
        if (!($(item).closest('tr').is('.k-state-selected'))) { 
         $(item).click(); 
        } 
       } else { 
        if ($(item).closest('tr').is('.k-state-selected')) { 
         $(item).click(); 
        } 
       } 
      }); 
      $('html').css("cursor", "default"); 
      kendo.ui.progress($("#grid"), false); 
     }); 
    }); 

あなたは私が間違っているのかを把握するために私を助けてもらえます。

+0

http://dojo.telerik.com/で問題を再現できますか?あるいは、少なくともあなたのコードを 'selectRow'のように質問に入れてください。 – DontVoteMeDown

+0

私はpageSize = 100と同じサンプルhttp://docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/Selection/select-deselect-all-checkboxに取り組んでいます。上記の変更された機能は、剣道の進行を示す。 –

+0

しかし、それでもページのコードに問題を起こすのは難しいです。その例では、「Open in Dojo」*というボタンがあります。そのデモにコードを追加して、ここに投稿できますか? – DontVoteMeDown

答えて

0

dojoコードからJS Fiddleを作成しました。

ここに私が変更したコードのセクションがあります。

....... 
.......... 
$('#header-chb').change(function(ev) { 
      var checked = ev.target.checked; 

      /** Added this block of code **/ 
      kendo.ui.progress($("#grid"), true); 
      setTimeout(function(){ 
       kendo.ui.progress($("#grid"), false); 
      }, 1500); 
      /*******************************************/ 

      $('.row-checkbox').each(function (idx, item) { 
       setTimeout(function() { 

        if (checked) { 
         if (!($(item).closest('tr').is('.k-state-selected'))) { 
          $(item).click(); 
         } 
        } else { 
         if ($(item).closest('tr').is('.k-state-selected')) { 
          $(item).click(); 
         } 
        } 
       }, 500); 
      }); 
      //I commented out the below line 
      //kendo.ui.progress($("#grid"), false); 
     }); 
     }); 

     var checkedIds = {}; 
........... 
....... 
+0

問題がある場合は教えてください –

+0

ありがとうRahul! 私はあなたのソリューションをまだ試していません。私がJQueryと剣道を初めて知りましたので、以下のことを理解するのを助けてくれますか? 1.私が投稿したコードで進歩がうまくいかない理由は何ですか? 2.あなたが投稿したコードでは、グリッドに> 200などのアイテムが多数ある場合、進捗(スピナー)は1.5秒後に停止するでしょうか? 3.それぞれの.row-checkboxにタイマーを入れる理由は何ですか? –

+0

私の友人は、あなたが望むようにコードを試してみることをお勧めします。さらに、あなたは自分で物事をしようとすると多くを学ぶことになるでしょう:) –

関連する問題