TreeViewer如何通过TreeItem寻找到相应的Entity(即Input List中的元素)?
使用CellEditor,写modify()的方法的时候一般会更新TreeItem的值。
我想也有必要更新与TreeItem相对应的那个是数据Entity的值,这里就有一个问题,如何通过当前的TreeItem去Input List中寻找到相应的那个数据Entity呢?
我最初想了一个折衷的办法:使用当前的TreeSelection对象,从TreeSelection对象中提取Entity并更新其值,前提是通过CellEditor来编辑数据是可以保证当前TreeSelection中的Entity数量有且只有一个,而且刚刚好就是CellEditor正在编辑的那个TreeItem对应的Entity。(理解的不知道对不对?)
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();}