2014-09-30 46 views
1

我在使用ng-grid搜索過濾器的列上至少需要引用cellTemplate時出現問題。帶單元格的ng-grid搜索過濾器模板

我的數據對象有多個字段。其中一個字段是一個數組,我使用cellTemplate創建一個帶有ng-repeat的div來顯示這些值,並根據該數組中的值應用某個css類。

下面是展示我的問題的plunkr:plnkr.co/edit/jMvafIjqCsU0cnW6Ecvy?p = preview。

我的問題是當我使用cellTemplate網格特性時,過濾器無法正常工作。爲了模擬這種情況,你可以嘗試通過[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 2014-09-30 13:18:45

+0

如何檢測電子郵件是否是@ gmail或其他地方?沒有找到您的運動員示例中的任何託管信息,只是名稱。請在plunker中填寫myData,我會告訴你如何編寫你的cellTemplate。 – mainguy 2014-09-30 13:31:51

+0

你是對的。我編輯你的笨蛋,以顯示我的問題,我想嘗試做。請看看那個笨蛋。 – bob 2014-09-30 14:39:38