我有一个接受多选的表。在这个jtable上我添加了一个列,我添加了一个这样的组合框:
public void setPriorityEditor(final String columnName) {
final TableColumn col = ((BasicTableModel) table.getModel())
.findTableColumn(columnName);
col.setCellEditor(new PriorityComboBoxEditor());
}
我想实现一项新功能: 可以使用组合框更新多个字段,这是我选择的一部分。 http://imageshack.us/photo/my-images/40/qyks.png/ 当我想在我的选择中选择一行时,我的问题开始选择avec选择几行,选择是刷新,我现在只选择了一行。 有可能吗?
摘要: 尝试使用多选项更新多个列。 行包含一个带有组合框的列。 选择多个行并使用组合框(它是所选行的一部分),以使用组合框的值更新所有行特定列。
关心家伙。
答案 0 :(得分:0)
所以我改变了changeSelection()方法中的代码,如下所示:
if (extend) {
super.changeSelection(rowIndex, columnIndex, toggle, extend);
listTest = new ArrayList<Object>();
for (int e : modelTable.getToolTipsJTable().getSelectedRows()) {
listTest.add(e);
}
isExtend = true;
} else {
// super.changeSelection(rowIndex, columnIndex, toggle, extend);
if (modelTable.getToolTipsJTable().getSelectedRows().length > 1) {
listTest = new ArrayList<Object>();
for (int e : modelTable.getToolTipsJTable()
.getSelectedRows()) {
listTest.add(e);
}
isExtend = true;
}
if (isExtend) {
boolean isSame = false;
for (Object i : listTest) {
if (((Integer) i).intValue() == rowIndex) {
isSame = true;
}
}
if (!isSame) {
isExtend = false;
super.changeSelection(rowIndex, columnIndex, toggle,
extend);
}
} else {
super
.changeSelection(rowIndex, columnIndex, toggle, extend);
}
}
这只是为了分析,忘记清洁和表现:D 如果您需要更多信息,请添加评论。