14.9 其他使用技巧
14.9.1 表格记录的过滤
建立一个继承自ViewerFilter的类,称之为过滤器类。下面的实例建立了一个过滤器,此过滤器的作用是在表格中只显示姓名叫“陈刚”的记录。
//------------- 文件名:MyFilter.java --------------
public class MyFilter extends ViewerFilter {
// 参数viewer在本例中就是TableViewer对象
// 参数parentElement 在本例中是一个包含全部记录的Object数组
// 参数element 当前传入的记录,需要判断是否过滤它
// 返回值=false则此记录(element)不显示。true为显示
public boolean select(Viewer viewer, Object parentElement, Object element) {
PeopleEntity o = (PeopleEntity) element;
return o.getName().equals("陈刚");
}
}
|
表格使用过滤器的语句如下所示,也可以把它写入某Action的run方法中:
tv.addFilter(new MyFilter()); //tv是TableViewer对象 |
14.9.2 控制表格的当前选择行
可以将以下语句写在某个事件代码中,例如写在Action的run方法中。
(1)向下移动,到底后又回到第一行。
Table table = tv.getTable(); int i = table.getSelectionIndex(); //取得当前所选行的序号,如没有则返回-1 table.setSelection(i + 1); //当前选择行移下一行 |
(2)向上移动,到第一行后又回到最末尾一行。
Table table = tv.getTable();
int i = table.getSelectionIndex();
if (i > 0) //是否超过第一行
table.setSelection(i - 1); //向上移
else {
int count = table.getItemCount(); //总的行数
table.setSelection(count - 1);
}
|
14.9.3 给表格的单元格设置背景色
如下语句将使第1行第2列的单元格背景色变为红色(要加在tv.setInput()方法后面)。
Table table = tv.getTable(); //tv是一个TableViewer对象 TableItem item = table.getItem(0); //得到第1行 Color color =Display.getDefault().getSystemColor(SWT.COLOR_RED);//红色 item.setBackground(1, color); //设置此行的第2列为红色 table.redraw(); //重画界面 |
14.9.4 加快TableItem和记录之间的查找速度
用以下语句可以在TableViewer内部为数据记录和TableItem之间的映射创建一个哈希表,这样可以加快TableItem和记录之间的查找速度,这条语句必须加在setInput方法之前。
tv.setUseHashlookup(true); |
| 回书目 上一节 下一节 |
|
· Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. |
· 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. |
|
||||
| · ASP.NET开发教程 · 专题:ASP.NET 2.0基础.. · LAMP技术精解 · 服务器节能与绿色IT · ARP攻击防范与解决方案 · Linux 集群技术专题 · Windows集群服务应用 · CISSP认证成长之路 |
· SQL Server 2008/2005.. · SQL Server入门到精通 · 网络工程师职业规划与.. · 浏览器的战国时代 · 运营商封堵ADSL共享 中.. · 微软出价446亿美元收购.. · 技术人求职简历完备手册 · 开源虚拟化技术Xen |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · Windows集群服务应用 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · Windows集群服务应用 |
· 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · ASP.NET开发教程 · PHP开发应用手册 |
|||