Angular UI-Grid 如何按显示值而不是实际值进行筛选?
Angular UI-Grid How to filter by display value instead of actual value?
我的网格中有一个性别列,它的实际值是一个整数,它被转换成诸如男性、女性等字符串...如果我尝试按文本过滤它,过滤将不起作用,按实际整数值过滤效果很好。
如何根据显示的文本而不是文本后面的值来过滤它?
Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview
谢谢。
有一种更好的方法可以使用下拉菜单而不是文本框来执行此操作。由于您将 male/female 作为选项,因此您可以添加下拉菜单并使用它进行过滤。
http://ui-grid.info/docs/#/tutorial/103_filtering 清楚地解释了该方法。
但如果您真的想根据文本框输入进行搜索,您也可以在过滤器上使用条件 属性 来实现。此函数会将文本框中的值与单元格中的值进行比较,但您可以反向查找 male/female 值和 return 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
我的网格中有一个性别列,它的实际值是一个整数,它被转换成诸如男性、女性等字符串...如果我尝试按文本过滤它,过滤将不起作用,按实际整数值过滤效果很好。
如何根据显示的文本而不是文本后面的值来过滤它?
Plunker http://plnkr.co/edit/JgjKWsVWCV7v4hA8mak3?p=preview
谢谢。
有一种更好的方法可以使用下拉菜单而不是文本框来执行此操作。由于您将 male/female 作为选项,因此您可以添加下拉菜单并使用它进行过滤。
http://ui-grid.info/docs/#/tutorial/103_filtering 清楚地解释了该方法。
但如果您真的想根据文本框输入进行搜索,您也可以在过滤器上使用条件 属性 来实现。此函数会将文本框中的值与单元格中的值进行比较,但您可以反向查找 male/female 值和 return 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