我的网格中有一个性别列,它的实际值是一个整数,它会转换为字符串,如男性,女性等...如果我尝试按文字过滤它,过滤工作就不会起作用,按实际整数值过滤效果很好。
如何通过显示的文本而不是文本背后的值来过滤它?
Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview
谢谢。
答案 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;
}
},