Swt/Jface tableviewer入门教程4
2008-07-04 08:45
483 查看
如果我们想根据某一列来过滤记录,如何实现呢?很简单,定义一个过滤器filter。这里只演示定义一个过滤器的情况。
现实中你可以定义多个灵活的过滤器,通过替换过滤器来实现各种各样的过滤。
一、过滤器代码:
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
![](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
public class MyFilter extends ViewerFilter {
public boolean select(Viewer viewer, Object parentElement, Object element)
![](http://www.blogjava.net/Images/dot.gif)
{
People p = (People) element;
return p.getName().startsWith("张1");
}
}
![](http://www.blogjava.net/Images/dot.gif)
然后在testTableViewer的shell.open前加入这个过滤器
![](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
tableViewer.addFilter(new MyFilter());
好了,看一下效果
二、如果我们想凸显某一条记录,想改变一下它的颜色,如果实现呢,简单,只要几句话就可以了。
Color color = Display.getDefault().getSystemColor(SWT.COLOR_RED);
table.getItems()[table.getItemCount()-1].setBackground(color);
table.redraw();
三、这里提一下,使用tabeViewer.setUseHashlookup(true)可以在tableviewer内部为数据记录和 tableItem之间的映射创建一个hash表,这样可以加快tableItem的和记录间的查找速度,注意,这条语句必须在setInput之前加入 才有效。
好了,到此tableviewer的基本的东西介绍的差不多了
四:在现实的开发中,我们更多的是喜欢把一些简单的类用匿名类或者内部类的方式来实现。像之前例子中每个都单独一个类的情况并不多。
现实中你可以定义多个灵活的过滤器,通过替换过滤器来实现各种各样的过滤。
一、过滤器代码:
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
![](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
public class MyFilter extends ViewerFilter {
public boolean select(Viewer viewer, Object parentElement, Object element)
![](http://www.blogjava.net/Images/dot.gif)
{
People p = (People) element;
return p.getName().startsWith("张1");
}
}
![](http://www.blogjava.net/Images/dot.gif)
然后在testTableViewer的shell.open前加入这个过滤器
![](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
tableViewer.addFilter(new MyFilter());
好了,看一下效果
二、如果我们想凸显某一条记录,想改变一下它的颜色,如果实现呢,简单,只要几句话就可以了。
Color color = Display.getDefault().getSystemColor(SWT.COLOR_RED);
table.getItems()[table.getItemCount()-1].setBackground(color);
table.redraw();
三、这里提一下,使用tabeViewer.setUseHashlookup(true)可以在tableviewer内部为数据记录和 tableItem之间的映射创建一个hash表,这样可以加快tableItem的和记录间的查找速度,注意,这条语句必须在setInput之前加入 才有效。
好了,到此tableviewer的基本的东西介绍的差不多了
四:在现实的开发中,我们更多的是喜欢把一些简单的类用匿名类或者内部类的方式来实现。像之前例子中每个都单独一个类的情况并不多。
相关文章推荐
- Swt/Jface tableViewer入门教程1
- Swt/Jface tableViewer入门教程一(显示tableViewer)
- Swt/Jface tableViewer入门教程一(显示tableViewer)
- Swt/Jface tableViewer入门教程2
- Swt/Jface tableViewer入门教程一(显示tableViewer)
- Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)
- Swt/Jface tableviewer入门教程3
- Swt/Jface tableViewer入门教程二(让TableViewer按照列排序)
- Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)
- Swt/Jface tableviewer入门教程四(加入filter ,改变行的颜色)
- Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)
- Swt/Jface tableviewer入门教程四(加入filter ,改变行的颜色)
- Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)
- Swt/Jface tableviewer入门教程四(加入filter ,改变行的颜色)
- Swt/Jface tableViewer入门教程(显示tableViewer) 转 受益匪浅
- Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)
- Swt/Jface tableviewer入门教程四(加入filter ,改变行的颜色)
- Swt/Jface tableviewer总结
- 在SWT的table中或在JFace的TableViewer中添加checkbox
- Swt/Jface tableViewer总结(五)