【发布时间】:2015-06-17 06:18:41
【问题描述】:
我的网格中有一个性别列,它的实际值是一个整数,它会转换为男性、女性等字符串...如果我尝试按文本过滤它,过滤将不起作用,过滤实际整数值工作正常。
如何通过显示的文本而不是文本后面的值来过滤它?
Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview
谢谢。
【问题讨论】:
我的网格中有一个性别列,它的实际值是一个整数,它会转换为男性、女性等字符串...如果我尝试按文本过滤它,过滤将不起作用,过滤实际整数值工作正常。
如何通过显示的文本而不是文本后面的值来过滤它?
Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview
谢谢。
【问题讨论】:
有一种更好的方法是使用下拉菜单而不是文本框。由于您将有男性/女性作为选项,您可以添加一个下拉列表并使用它进行过滤。
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
【讨论】: