2016-11-22 5 views
0

私のプロジェクトでUIグリッドv3.0.0を使用しています。最近、ドロップダウンリストの値を使用してコードをフィルタグリッドに変更しました。この変更後、グリッドを複数回フィルタリングするとUIグリッドが空白になります。これは断続的な問題で、JavaScriptエラーは発生していません。フィルタ適用後にUIグリッドが空白になると、UIグリッドのスクロールバーを移動するまでUIグリッドは空白のままになります。UI外部フィルタを使用してデータをフィルタリングするときにグリッドが空白になる

私は以下のグリッドオプションを使用しています。

\t  $scope.options = { 
 
\t  \t \t enableColumnMenus: false, 
 
\t \t \t \t enableSelectAll: true, 
 
\t  \t \t enableFiltering: true, 
 
\t  \t \t enableHorizontalScrollbar:0, 
 
\t \t \t \t enableRowHeaderSelection: false, 
 
\t  \t \t enableRowSelection: true, 
 
\t  \t \t data : [], 
 
\t \t \t \t showSelectionCheckbox: true, 
 
\t \t \t \t selectionRowHeaderWidth: 25, 
 
\t \t \t \t rowHeight: 25, 
 
\t \t \t \t columnDefs : $scope.columnDefs 
 
\t }; 
 
\t  
 
\t  $scope.options.onRegisterApi = function (gridApi) { 
 
\t  \t $scope.options = gridApi; 
 
\t  \t gridApi.selection.on.rowSelectionChanged($rootScope , function(gridApi) { 
 
\t  \t \t $scope.options.selected = gridApi; 
 
\t \t \t });

私はまた、UIグリッドアレイをfilering後にリフレッシュのためのグリッドAPIの下に呼び出しています。

\t $scope.options.core.refresh();

しかし、まだそれが動作していません。誰かが私にこの問題を解決する方法についてのヒントを与えることができれば、それは大変感謝しています。ありがとう。

答えて

-1

角度の$ filterを使用すると、剣道グリッドのdataSourceをフィルタリングできます。

次のコードから参考にして、必要なことを教えてください。

var ds = $filter('filter')($scope.grdDataSource.dataSource.data, $scope.searchText); 
$scope.kendoGridOptions.dataSource.data = ds; 
+0

彼は剣道グリッドを使用していません。彼はui-gridを使用しています。 –

0

私はcore.refreshを私のために働かせることはできませんでした。私は実際に回避策を使用します。この問題に役立つかどうか試してみてください。

関数を作成します。

$scope.refresh = false; 

    function refresh() { 
    $scope.refresh = true; 
    $timeout(function() { 
     $scope.refresh = false; 
    }, 0); 
}; 

をお使いのグリッドのdivにng-ifを置く:

   <div ng-if="!refresh" ui-grid="gridOptions" class="grid"></div> 

は次に/あなたがグリッドをリフレッシュしたいあなたのコントローラーでrefresh()を呼び出します。

こちらがお役に立てば幸いです。

+0

お返事ありがとうございます。私は疑いが1つあります。リフレッシュ機能では、リフレッシュをfalseに設定するだけです。リフレッシュコードで何をしようとしていますか?使い方? – sa9689

関連する問題