2016-03-22 23 views
1

在我的網站中,我得到了一個slickGrid來顯示具有排名的人員列表。我想要實現顯示自動過濾: - 前50人/ - 最後50人/ - 所有SlickGrid如何顯示50lines

要做到這一點,我有嘗試1件事: 我有一個自定義過濾器嘗試的軍銜如果它不到50歲,我會展示他。但是,這個解決方案的問題是,如果我有不止一個具有相同等級的人,那麼我的slickgrid可能會顯示超過50行。

有了這種方法,我有其他的擺脫,因爲我不能過濾50個最後的傢伙,因爲我不知道最後的排名和我的slickGrid中的人數。

我的鋼絲網是alreay按排名排序,所以我想知道是否有一個簡單的解決方案,所以說我的slickgrid顯示前50行/最後50行或所有行。

謝謝你,如果你有我的問題的解決方案。

回答

1

我所有的建議首先是使用defaultSort選項:

$scope.usersGrid = {}; 
$scope.usersGrid.gridOptions = { 
       defaultSort: { 
       id: 'loginName', 
       field: 'loginName', 
       asc: true 
       } 
      }; 

然後在設置行,你應該保持一個JavaScript對象:由於使用的JavaScript對象,

$scope.usersGrid.setRows(users); 

這在我們的情況下是用戶,您可以輕鬆地保持50個用戶的最大長度。

+0

感謝您的回答,但是我想要的是不同的,因爲我的服務器將所有用戶都返回給我,所以我只有一次,我不知道我的slickgrid中有多少用戶。你明白我的觀點嗎? –

+1

您可以輕鬆創建maxlength爲50的JavaScript數組/列表,對對象進行排序,然後使用slickGrid API設置行數。它更建議保持一個JavaScript對象,而不是添加複雜的代碼到你的slickGrid,請讓我知道如果我的答案是明確的。 –

+0

非常感謝你的提示。我現在使用一個javascript數組,並使用布爾值來知道我是否想顯示這個對象。該解決方案工作得很好。我upvote你的解決方案! –