2014-09-30 2 views
1

cellTemplate을 참조하는 열에 ng-grid 검색 필터를 사용하는 데 문제가 있습니다.ng-grid 검색 필터 (cellTemplate 포함)

내 데이터 개체에 여러 필드가 있습니다. 이러한 필드 중 하나는 배열이고 cellTemplate을 사용하여 ng-repeat를 사용하여 div를 만들어 해당 값을 표시하고 해당 배열의 값에 따라 특정 CSS 클래스를 적용합니다.

다음은 내 문제를 설명하는 plunkler입니다. plnkr.co/edit/jMvafIjqCsU0cnW6Ecvy?p=preview.

내 문제는 cellTemplate grid propertie를 사용할 때 필터가 제대로 작동하지 않는다는 것입니다. 이 시나리오를 시뮬레이트하기 위해 [email protected]을 통해 문제를 발견 할 수 있습니다. 이 plunker에서는 cellTemplate을 사용하여 사람의 전자 메일에 '@ gmail.com'을 연결합니다. person2를 입력하면 필터가 적용되지만 @ 뒤에는 필터가 작동하지 않는 것을 볼 수 있습니다.

나를 도와 줄 사람이 있습니까? 고맙습니다!

답변

1

ng-grid는 렌더링 된 cellTemplate 출력을 검색하지 않지만 기본 데이터를 검색합니다.

그래서 가장 좋은 방법은 데이터를 검색 가능한 값으로 변환하는 것입니다.

angular.forEach($scope.myData, function(value) { 
    value.email+='@gmail.com'; 
    }); 

Plunker here

+0

그리고 내가 CSS 스타일을 적용하려는 경우를 찾기? 예를 들어 이메일이 @gmail이면 출력이 녹색이되고 그렇지 않으면 출력이 빨간색이됩니다. 이것은 내 컨트롤러에서 스타일을 적용하거나 셀에 값 배열을 표시 할 수 없기 때문에 출력을 조작하기 위해 cellTemplate을 사용해야 할 때의 실제 문제입니다. – bob

+0

이메일이 @gmail 또는 다른 곳에있는 경우 어떻게 감지합니까? 귀하의 큰 예에서 호스트 정보를 찾지 못했습니다. plunker에서 myData를 완성하십시오. 그러면 cellTemplate을 작성하는 방법을 알려 드리겠습니다. – mainguy

+0

당신이 옳아 요. 나는 내 문제가 무엇인지를 보여주기 위해 당신의 멍청이를 편집했고, 나는 시험해보고 싶다. 제발, plunker를 참조하십시오. – bob