2016-11-22 54 views
0

我在我的項目中使用了UI網格v3.0.0。最近我改變了我的代碼,使用下拉列表值過濾網格。在此更改之後,當我多次過濾網格時,UI網格變得空白。這是間歇性的問題,我沒有得到任何JavaScript錯誤。當UI網格在應用過濾器後變爲空白時,UI網格將保持空白,直到用戶移動UI網格的滾動條爲止。當使用外部過濾器過濾數據時UI網格變空白

我正在使用Grid選項。

\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 });

我也呼籲低於電網的API刷新filering UI柵陣列之後。

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

但仍是不能正常工作。如果任何人都可以告訴我如何解決這個問題,我會非常感激。謝謝。

回答

-1

您可以使用$角度過濾器來過濾您的劍道網格數據源。

您可以參考以下代碼,讓我知道您需要的任何東西。

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); 
}; 

您的網格格放一個ng-if

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

在控制器然後調用refresh()在那裏/當你想刷新網格。

我希望這有助於!

+0

謝謝你的回答。我有一個疑問。在刷新功能中,您只需將刷新設置爲false即可。你正在嘗試刷新代碼?怎麼運行的? – sa9689

相關問題