ComboBoxCellEditor 仅在失去焦点时设置值
ComboBoxCellEditor only setting value on focus lost
有没有办法在 ComboBoxCellEditor
中设置值,而不是当焦点在单元格上丢失时?我在 TreeViewer
中一列的每个单元格中使用它,唯一调用 setValue
方法的时间是当焦点在单元格上丢失时。因此,当用户进行选择但未单击单元格时,该值永远不会设置为新选择。我已经尝试在 ComboBoxCellEditor
和 ComboBoxCellEditor
的控件上添加侦听器,但似乎没有任何选择事件。
我发现我需要将控件转换为 Combo,以便将正确类型的侦听器添加到 ComboBox 单元格编辑器。这是我所做的:
CCombo combo = (CCombo) cellEditor.getControl();
combo.addSelectionListener(new SelectionListener()
{
@Override
public void widgetSelected(SelectionEvent paramSelectionEvent)
{
//selection code here...
}
@Override
public void
widgetDefaultSelected(SelectionEvent paramSelectionEvent)
{
//do nothing here...
}
});
有没有办法在 ComboBoxCellEditor
中设置值,而不是当焦点在单元格上丢失时?我在 TreeViewer
中一列的每个单元格中使用它,唯一调用 setValue
方法的时间是当焦点在单元格上丢失时。因此,当用户进行选择但未单击单元格时,该值永远不会设置为新选择。我已经尝试在 ComboBoxCellEditor
和 ComboBoxCellEditor
的控件上添加侦听器,但似乎没有任何选择事件。
我发现我需要将控件转换为 Combo,以便将正确类型的侦听器添加到 ComboBox 单元格编辑器。这是我所做的:
CCombo combo = (CCombo) cellEditor.getControl();
combo.addSelectionListener(new SelectionListener()
{
@Override
public void widgetSelected(SelectionEvent paramSelectionEvent)
{
//selection code here...
}
@Override
public void
widgetDefaultSelected(SelectionEvent paramSelectionEvent)
{
//do nothing here...
}
});