我在一个带有视图的插件中有一个tableviewer。 tableviewer有5列。当我选择行时,我需要行中的数据。例如:当我选择第1行时,监听器应该在第1列第1行的数据中存储变量。
我用它来获取所选行中的数据,但它只返回第一列的数据:
table.addListener(SWT.DefaultSelection, new Listener() {
public void handleEvent(Event event) {
TableItem[] selection = table.getSelection();
for (int i = 0; i < selection.length; i++)
{
System.out.println(selection[i].getText());
}
}
});
如何获取行的所有列中的数据?
答案 0 :(得分:1)
使用TableViewer.addSelectionChangedListener
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(final SelectionChangedEvent event)
{
IStructuredSelection selection = (IStructuredSelection)event.getSelection();
RowData rowData = (RowData)selection.getFirstElement();
....
}
});
其中RowData
是行的模型对象