我有一个TableViewer,其中一列中的值通常应该来自动态列表。我目前正在使用org.eclipse.jface.viewers.ComboBoxCellEditor,它实际上是一个 Select-List:它存储所选值的索引。如果我更改基础列表(调用setItems(String[])
,保留先前选择的值很笨拙......(特别是如果它不再包含在列表中!)我希望实际上是一个存储的单元格编辑器,而不是来自列表,但字符串(也许让用户自由编辑,也许不是),列表只是在输入时用作建议 - 就像“组合框”应该在过去的好日子里工作......这是可能的?
问问题
1900 次
2 回答
2
我建议您使用 CellEditor 来模仿您正在寻找的行为。扩展ComboBoxViewerCellEditor
和覆盖doGetValue()
方法。在 Combo 控件上添加修改侦听器,并将过滤器(根据输入文本过滤列表项)添加到组合查看器。
于 2012-09-21T21:15:47.093 回答
0
你应该看看:
- org.eclipse.wst.xml.ui.internal.properties.StringComboBoxCellEditor这个类来自WTP项目;它是一个扩展的 ComboBoxCellEditor,它选择并返回字符串。
- codemirror.eclipse.ui.xquery.viewers.StringComboBoxCellEditor是 WTP StringComboBoxCellEditor 的复制/粘贴;它添加了在未找到该项目时将其添加到组合中的功能。
于 2013-10-06T23:12:25.293 回答