我想做一种表格(可能是 FlexTable)并能够应用过滤器(任何字符串)并立即删除不包含该字符串的行。我检查了类似的问题,但它们已经很老了(3-4 年前)。
您可以在 jquery 的数据表插件中看到一个示例:http ://www.datatables.net/
我只需要过滤器,所以我想我可以使用 TextBox 和 KeyPressHandler 来检测按下的键,并且仅在 input.length()>=3 时显示包含输入文本的行。
有人有更好的想法或方法吗?
谢谢。
我想做一种表格(可能是 FlexTable)并能够应用过滤器(任何字符串)并立即删除不包含该字符串的行。我检查了类似的问题,但它们已经很老了(3-4 年前)。
您可以在 jquery 的数据表插件中看到一个示例:http ://www.datatables.net/
我只需要过滤器,所以我想我可以使用 TextBox 和 KeyPressHandler 来检测按下的键,并且仅在 input.length()>=3 时显示包含输入文本的行。
有人有更好的想法或方法吗?
谢谢。
我强烈建议使用 aCellTable
或 a DataGrid
。有了这些,您可以关联一个ListDataProvider
,您可以在其中放置所有过滤逻辑。
如果您想要更复杂的过滤,您应该创建自己的实现来DataListProvider
传递 aString
或自定义的位置。每当您想过滤行时,您都Filter
需要从表中创建并调用它。
filter(String filterExpression)
public class MyListDataProvider<T> extends DataListProvider<T>{
public void filter(String filterExpression){
// Here you filter your local list containing the data use
List<T> list = getList();
...
// Refresh all of the objects associated to this ListDataProvider
refresh();
}
}
您可以保留一个包含所有项目的额外List<T>
内容而不进行任何过滤,以便在您想要“取消过滤”或更改过滤器表达式时访问过滤掉的项目。
这种方法比使用 a 更有效,FlexTable
因为FlexTable
您必须单独浏览每一行和单元格。太多的操纵。