我在带有 View 的插件内有一个表格查看器。表查看器有 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());
}
}
});
如何获取该行所有列的数据?
最佳答案
使用TableViewer.addSelectionChangedListener
viewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(final SelectionChangedEvent event)
{
IStructuredSelection selection = (IStructuredSelection)event.getSelection();
RowData rowData = (RowData)selection.getFirstElement();
....
}
});
其中 RowData
是行的模型对象
关于java - 如何获取tableviewer行项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720039/