ng-grid에 표시 할 개체 배열이 있습니다. 각 행에는 부울 속성 isVisible
이 있습니다. NG 그리드에서 isVisible
이 참인 행만 표시하려고합니다. 다른 행은 이어야하며 완전히이 숨겨져 있어야합니다.특정 행을 숨기기 위해 ng-grid를 얻는 방법
나는 rowTemplate
을 사용하고 데이터 바인딩은 ng-show
에서 isVisible
으로 시도했다. 이는 행의 내용을 숨기지 만 실제 행을 그대로두고 빈 행을 표시합니다.
filterOptions를 사용해 보았지만 이러한 필터링을 수행하는 올바른 구문을 알아낼 수 없습니다. 나는 그것을 설정하는 방법에 대한 좋은 문서를 찾을 수 없었다.
나는 ng-repeat=\"row in renderedRows\"
에 필터를 추가하려고 시도하여 NG 그리드 소스에서 gridTemplate
을 수정하려고 시도했으나 작동하지도 못했습니다.
일시적으로 행을 제거하여 배열 자체를 수정할 수 있다고 생각하지만 행을 다시 표시 할 수 있어야하므로이 방법을 사용하지 않는 것이 좋습니다 (실제 확장자입니다. 하위 행을 숨기거나 표시해야 함)
SO 16546678 (http://stackoverflow.com/questions/16846678/nggrid-multi-column-filtering)을 보셨습니까? gridOptions.data 객체를 다시 만들어서 숨기는 것이 아니라 행을 필터링하는 것입니다. 또한 plunker가 있습니다 : http://plnkr.co/edit/2RXlNq?p=preview – AardVark71
@ AardVark71 데이터 객체의 복사본이 여러 개있는 것을 피하고 싶습니다. 한 가지 들어 http://stackoverflow.com/questions/17847119/how-to-hide-rows-in-ng-grid 그 솔루션과 메모리 누수가 의미합니다. –
별도의 배열로 데이터의 다른 사본이 필요하지 않습니다. 다시 말하지만 $ scope.data 대신 $ scope.filteredData()에 바인드하여 데이터를 필터링하는 함수에 바인드 할 수도 있습니다. Angular가 다이제스트를 실행할 때마다 호출됩니다. –