2016-10-25 6 views
0

ページに2つの剣道グリッドがあります。ボタンをクリックすると、あるグリッドから別のグリッドにいくつかのアイテムを転送しようとしています。私のコードはChromeでは完全に動作していますが、IEでは動作しません。剣道のグリッドdataItemの選択がIEで機能していない

$('#btn_move_1_2').on('click', function(){ 
    var grid1 = $('#grid1').data('kendoGrid'); 
    var grid2 = $('#grid2').data('kendoGrid'); 
    grid1.select().each(function(key , value){ 

     var currItem = grid1.dataItem(value); 
     grid1.dataSource.remove(currItem); 
     //on second iteration gets error- Unable to get property 'uid' of undefined or null reference 
     grid2.dataSource.add(currItem); 
    }); 
    grid1.select().each(function(){ grid1.removeRow($(this)); }); 
    grid2.refresh(); 
}); 

単一の選択が正常に機能します。複数選択の上、それは私がエラーにhttp://dojo.telerik.com/@jomet/oVICI

答えて

1

を表示するサンプルスニペットを作成し、エラー「未定義またはnull参照のプロパティを取得できません 『UID』」と2回目の反復で

を破った以下のコードを試してみてください。完全なTR宣言を渡す代わりに、行の一意のIdだけを渡して、モーダル/項目の詳細を取得します。

$('#btn_move_1_2').on('click', function() { 
    var grid1 = $('#grid1').data('kendoGrid'); 
    var grid2 = $('#grid2').data('kendoGrid'); 
    var rowSelected = grid1.select(); 

    grid1.select().each(function (key, value) { 
     // I have updated below code line 
     var currItem = grid1.dataSource.getByUid($(value).data('uid')); 
     grid1.dataSource.remove(currItem); 
     grid2.dataSource.add(currItem); 
    }); 
    grid1.select().each(function() { grid1.removeRow($(this)); }); 
    grid2.refresh(); 
}); 

私に何か懸念がある場合はお知らせください。

+0

ありがとうございます! – Jom

関連する問題