我寫了一個cellClass函數rowSpanCellClass來實現類似HTML rowspan的東西。在使用rowSpanCellClass的列中重複一個值時,具有重複值的單元格將顯示爲垂直合併。如何獲取ui-grid cellClass函數在重新排序後調用所有可見行?
當網格最初呈現時,這工作正常。但是,如果我顛倒了不同列的排序順序(docNum),則不會爲每行調用rowSpanCellClass。因此,rowSpanCellClass列中的一個單元格的類在應該更改時不會更改。
這裏是simple plunker展示我的問題。
如果您對文檔民標題點擊兩次扭轉最初的排序順序,輸出到控制檯顯示rowSpanCellClass被稱爲所有行除與rowRenderIndex行= 3
我相信行因爲在行被重新排序時它不會改變。 rowSpanCellClass需要爲所有行調用,因爲單元類不僅取決於當前行值,而且取決於相鄰行值。
我試圖強迫cellClass函數被調用的每一行上用下面的代碼
$scope.gridOptions.onRegisterApi = function (gridApi) {
gridApi.core.on.sortChanged($scope, function (grid, sortColumns) {
gridApi.core.notifyDataChange(uiGridConstants.dataChange.ALL);
});
};
然而,行前sortChanged事件觸發的重新排序,所以這是行不通的。
我能做些什麼來讓rowSpanCellClass在所有可見行被調用之後被調用?