Angular UI-Grid如何按显示值而不是实际值进行过滤?

时间:2015-06-17 06:18:41

标签: angularjs angular-ui-grid

我的网格中有一个性别列,它的实际值是一个整数,它会转换为字符串,如男性,女性等...如果我尝试按文字过滤它,过滤工作就不会起作用,按实际整数值过滤效果很好。

如何通过显示的文本而不是文本背后的值来过滤它?

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

谢谢。

1 个答案:

答案 0 :(得分:1)

通过使用下拉菜单而不是文本框,有更好的方法。由于您将选择男性/女性作为选项,因此您可以添加下拉列表并使用它来过滤。

http://ui-grid.info/docs/#/tutorial/103_filtering明确解释了这种方法。

但是如果你真的想要根据文本框输入进行搜索,你也可以使用过滤器上的条件属性来进行搜索。此函数将文本框中的值与单元格中的值进行比较,但您可以反向查找男性/女性值并返回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