gpt4 book ai didi

javascript - Ext JS 过滤呈现的列

转载 作者:行者123 更新时间:2023-11-30 12:04:41 25 4
gpt4 key购买 nike

我希望能够过滤我数据的每一列。每次过滤时,我都使用:

addFilter({

dataIndex: 0, //Or 1,2.. depending on the column i want to filter on
type: 'string',
value: value,
});

这里的问题是我要过滤的列的 dataIndex 是一个对象,所以我实际上是在过滤“对象”的字面字符串值。它是对象,因为在我的商店中,我为每个 dataIndex 存储一个对象,并使用 render 函数显示它。

单击标题触发菜单,有一个文本框我用来输入过滤器,如果您输入“对象”一词的任何字母,它就会起作用。我如何得到它来过滤对象的值,而不是文字字符串 'Object'

https://fiddle.sencha.com/#fiddle/163s

最佳答案

您的 type: 'string' 实际上说过滤器应该对字符串起作用。因此对象被字符串化为 [object object] 并与您提供的值进行比较。

相反,您需要使用自定义过滤器功能。在过滤器上使用 id 会很有用,因此同一列上的新版本会替换旧版本。

var dataIndex = column.dataIndex,
value = textfield.getValue();
grid.getStore().addFilter([{
id:"filter-"+dataIndex,
filterFn:function(record) {
// Example: Only return records where the object has a property by that name.
return Ext.Object.getKeys(record.get(dataIndex)).indexOf(value)>-1;
}
}]);

关于javascript - Ext JS 过滤呈现的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35578400/

25 4 0
文章推荐: java - JSON 解析器 : IOException: Unable to resolve host "my host address": No address associated with hostname
文章推荐: ios - UIScrollview 下的 UIImageView 不适合顶部屏幕
文章推荐: java - 从另一个ArrayList复制过来的ArrayList即使有数据也是空的