`
dearwolf
  • 浏览: 339529 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

有关CellEditor

 
阅读更多
为了批量发布设备,需要在一个窗口中为设备命名,设定其类型等,要用到Combo,所以就用了CellEditor

用CellEditor还是很方便的,有CheckboxCellEditor,ComboBoxCellEditor,LabelCellEditor,TextCellEditor等等。

首先把TableColumn的名称做成String数组,调用viewer.setColumnProperties()方法

然后做一个CellEditor数组,数组中的每一个CellEditor都对应着每一个Column

然后实现ICellModifier接口,做一个自己的CellModifier,并调用viewer.setCellModifier()方法

接口中有三个方法:

1.public boolean canModify(Object element, String property)
用来判断哪一个属性可写
2.public Object getValue(Object element, String property)
返回某个属性的值
3.public void modify(Object element, String property, Object value)
为某个属性赋值

昨天碰到了很多异常,情况如下:

1.ComboCellEditor 中对应的是Integer类型的值,如果用了String的话,就会有异常抛出。

2.tableviewer的input中,对象的很多属性没有赋初始值,由此而导致了在CellModifier里面调用get或者set方法时,出现了空指针异常。

3.update tableviewer。今天上午才找到table.addFocusListener方法,而且要在focusGained方法中进行更新。应该是由于编辑Cell的时候,focus从Table转移到了Cell上,所以要用focusGained方法吧。
分享到:
评论

相关推荐

    swt_jface_celleditor

    该工程实现了swt/jface tableviwer 的单元格编辑功能,有Text,combo,fileDialog三种单元格编辑样式

    tableviewer edit

    rcp tableviewer celleditor

    JFace TableViewer的单元格逐个遍历的辅助类

    但是,用了这种方法CellEditors无法直接得到,因此,以前的给CellEditor加监听器从而进行单元格遍历的方法无法使用了。所以我改写了该类,从而支持ViewerColumn.setEditingSupport的方法。 如果有bug,请站内短信...

    ag-grid-autocomplete-editor:使用自动完成程序包将自动完成功能快速实现到ag-Grid单元中

    该软件包的目的是提供一种将自动完成的cellEditor放入ag-Grid的简便方法。 用法 该软件包提供了一个新的cellEditor,名为: AutocompleteSelectCellEditor 。 您可以使用以下cellEditorParams配置和自定义单元格和...

    JIDE Grids (表格)开发员技术手册

    为了充分发挥JTable的功能,我们引入了一专门为JTable制作的产品叫杰笛表格,它提供了很多和JTable有关的组件和功能。 该产品有许多JTable的子类:从基础的JideTable开始,到CellSpantable,CellStyleTable,...

    KControls(SourceCode+Demo+文档).rar

    Software: KControls component suite for Delphi and Lazarus Original authorship: Tomas Krysl TStringGrid/TDrawGrid/DBGrid控件的超集, 方便Cell级别的编辑器的实现; Delphi7及以上版本/Lazarus1.2.2及以上...

    Ext Js权威指南(.zip.001

    1.2.7 更多有关json的信息 / 15 1.3 ext js 4概述 / 15 1.4 ext js的开发工具的获取、安装与配置介绍 / 18 1.4.1 ext designer / 18 1.4.2 在visual studio中实现智能提示 / 23 1.4.3 spket / 28 1.4.4 在...

Global site tag (gtag.js) - Google Analytics