2015-06-17 62 views
2

我在我的網格中有一個性別列,它的實際值是一個整數,它被轉換成字符串,如男性,女性等...如果我嘗試按文本過濾它,過濾將不起作用整數值正常工作。Angular UI-Grid如何按顯示值而不是實際值過濾?

如何通過顯示的文本而不是文本後面的值來過濾它?

Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview 

謝謝。

回答

1

有一個更好的方法可以通過使用下拉菜單而不是文本框來實現。既然你會有男性/女性作爲選項,你可以添加下拉菜單並使用它來過濾。

http://ui-grid.info/docs/#/tutorial/103_filtering有這種方法清楚解釋。

但是,如果您確實想要基於文本框輸入進行搜索,那麼您還可以在篩選器上使用條件屬性執行此操作。此函數會將文本框中的值與單元格中的值進行比較,但是您可以反向查找male/female值並返回true或false。

這個例子基本上有1個男性和2個女性。

{ field: 'gender', filter: { 
     condition: function(searchTerm, cellValue) { 

      if("male".match(searchTerm)) 
      { 
      return cellValue.match(1); 
      } 
      if("female".match(searchTerm)) 
      { 
      return cellValue.match(2); 
      } 
      return false; 
     } 

     }, 

這plnkr表明http://plnkr.co/edit/trJeHAG908NiEQM7TXrd?p=preview

相關問題