TreeViewer如何通过TreeItem寻找到相应的Entity(即Input List中的元素)?

使用CellEditor,写modify()的方法的时候一般会更新TreeItem的值。

我想也有必要更新与TreeItem相对应的那个是数据Entity的值,这里就有一个问题,如何通过当前的TreeItem去Input List中寻找到相应的那个数据Entity呢?

我最初想了一个折衷的办法:使用当前的TreeSelection对象,从TreeSelection对象中提取Entity并更新其值,前提是通过[color=red]CellEditor来编辑数据是可以保证当前TreeSelection中的Entity数量有且只有一个,而且刚刚好就是CellEditor正在编辑的那个TreeItem对应的Entity[/color]。(理解的不知道对不对?)

[code]
TreeSelection selection = (TreeSelection) treeViewer.getSelection();
if (!selection.isEmpty()) {
for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
Entity domain = (Entity) iterator.next();
/*
* Update the domain correlated the TreeItem where
* CellEditor at.
*/
domain.setValue(val);
}
treeViewer.refresh();
}
[/code]

但是这样会带来一个问题,如果CellEditor编辑完了以后不敲Enter的话,直接点击下一个CellEditor框会将数据更新为我们刚刚输入的数据。

最想知道,[color=red]TreeViewer如何通过TreeItem寻找到相应的Entity?[/color]

似乎应该发在新手区,请版主见谅,帮忙转移。谢谢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值