SWT Table 只选择了第一列
SWT Table only first column selected
我目前有一个填充的 SWT table,具有以下样式:
SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
使用 SWT.FULL_SELECTION
在单击时选中整行。
但仅使用 table.getSelection()
returns 第一列。
我没有任何 table查看器或其他设置。
我哪里弄错了?
编辑:
示例:
if (table.getSelectionCount() > 0) {
for (TableItem item : table.getSelection()) {
System.out.println(item);
}
}
这个returns只有第一列
由于您只调用 System.out.println()
总体上 TableItem
,Java 将在内部使用 TableItem#toString()
将其转换为 String
。
然而,生成的字符串将不包含 TableItem
.
的所有数据
相反,您需要使用 TableItem#getText(int column)
:
遍历列以获取数据
for(int i = 0; i < table.getColumnCount(); i++)
System.out.println(item.getText(i));
我目前有一个填充的 SWT table,具有以下样式:
SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
使用 SWT.FULL_SELECTION
在单击时选中整行。
但仅使用 table.getSelection()
returns 第一列。
我没有任何 table查看器或其他设置。
我哪里弄错了?
编辑: 示例:
if (table.getSelectionCount() > 0) {
for (TableItem item : table.getSelection()) {
System.out.println(item);
}
}
这个returns只有第一列
由于您只调用 System.out.println()
总体上 TableItem
,Java 将在内部使用 TableItem#toString()
将其转换为 String
。
然而,生成的字符串将不包含 TableItem
.
相反,您需要使用 TableItem#getText(int column)
:
for(int i = 0; i < table.getColumnCount(); i++)
System.out.println(item.getText(i));