在RCP的开发中,我们经常需要在table中让用户去选则某些行来进行某些操作,在tableview中我们可以在style中设置SWT.CHECK,但在管理上往往不是很方便,这里对CheckboxTableViewer来进行简单介绍和使用说明:
首先我们先创建table:
//先创建表 注意style中要包含 SWT.CHECK
Table table = new Table(parent, SWT.CHECK|SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER|SWT.V_SCROLL|SWT.H_SCROLL);
table.setLayoutData(new GridData(GridData.FILL_BOTH));
//设置表头
String[] tableCols = {"ID" , "姓名" , "性别" , "电话"};
for(String colStr : tableCols) {
TableColumn tc = new TableColumn(table, SWT.LEFT); //靠左
tc.setText(colStr);
tc.setWidth(70);
}
//设置line 和header显示
table.setLinesVisible(true);
table.setHeaderVisible(true);
然后在table上我们初始化 CheckboxTableViewer:
checkTableView = new CheckboxTableViewer(table);
设置标签管理器和内容管理器
/**
* 标签管理
* @author lyf
*
*/
private class PersonLabelProvider extends LabelProvider implements
ITableLabelProvider {
@Override
public Image getColumnImage(Object element, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
switch (columnIndex) {
case 0:
return ((Person)element).getId();
case 1:
return ((Person)element).getName();
case 2:
return ((Person)element).getSex();
case 3:
return ((Person)element).getTel();
default:
return "";
}
}
}
/**
* 内容管理
*
* @author lyf
*
*/
private class PersonContentProvider implements
IStructuredContentProvider {
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
// TODO Auto-generated method stub
}
@SuppressWarnings("rawtypes")
@Override
public Object[] getElements(Object inputElement) {
if(inputElement instanceof List) {
return ((List)inputElement).toArray();
}
return new Object[0];
}
}
OK!差不多了 我们给tableview setinput参数就可以了 在这里我自己创建了实体类 Person来进行显示,具体可以见附件中完整的代码!
注:
在CheckboxTableViewer中 常用的几个方法有:
checkTableView.setAllChecked(true); 将tableview中所有的元素选中
checkTableView.setChecked(Object element,boolean state);设置tableview中某一个元素是否被勾选的状态
checkTableView.getChecked(Object element);查看某个元素是否被选中
checkTableView.getCheckedElements(); 返回所有被选中的元素集合,返回类型为Object[]
分享到:
相关推荐
RCP中文入门教程,RCP中文入门教程,RCP中文入门教程,RCP中文入门教程
java中RCP中使用JNI
RCP 中TableView对列进行排序,实例代码,很方便,欢迎下载,好东西大家一起分享。谢谢。
RCP中文入门教程RCP中文入门教程RCP中文入门教程RCP中文入门教程
RCP中文入门教程.pdf
索尼 sony rcp 1500 中文操作手册,非常好,是中文的,希望大家多多下载 谢谢谢谢,让我多赚些积分
难得的Eclipse插件RCP中文入门教程
Eclipse RCP中使用第三方包,图文并茂很不错。
RCP程序中集成其他插件的配置方法RCP程序中集成其他插件的配置方法RCP程序中集成其他插件的配置方法
RCP&OSGI;
一个在RCP 的View中显示JFreeChart报表的小例子,所需要用到的Jar包都已经包含在里面 没有分的也可以去我的博客看看,也有相关的代码。
RCP在线升级RCP在线升级RCP在线升级RCP在线升级RCP在线升级
Eclipse RCP允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP入手可能会比较困难、费时。接下来我们将主要讲述如何让RCP工作. ...
详细介绍了Eclipse下开发rcp的方法步骤,并对其应用进行了详细介shoa
clipse RCP允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序,可重用Eclipse中已存在的方法和编码模式。俗话说,万事开头难。Eclipse RCP入手可能会比较困难、费时。接下来我们将主要讲述如何让RCP工作 ...
RCP中使用adapter扩展模型为IPropertySource,达到显示属性视图的目的;详细介绍了各种适配器方式。
RCP中文入门教程,含有指导图片.包教包会
rcp中英文双版 建议读英文版 这样更有助于提高