我想从筛选的行中检索一些数据。
这就是我过滤表格的方式:
String makeText = makeFilterCombo.getSelectedItem().toString();
if (makeText == "All") {
makeText = "";
}
String numar = getEssRegex();
String impact = impactBox.getSelectedItem().toString();
if (impact == "All") {
impact = "";
}
TableModel model;
model = jTable1.getModel();
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model);
jTable1.setRowSorter(sorter);
List<RowFilter<Object, Object>> rfs = new ArrayList<RowFilter<Object, Object>>(2);
rfs.add(RowFilter.regexFilter(makeText, 2));
rfs.add(RowFilter.regexFilter(numar, 5));
rfs.add(RowFilter.regexFilter(impact, 9));
RowFilter<Object, Object> af = RowFilter.andFilter(rfs);
sorter.setRowFilter(af);
这就是我尝试从过滤行获取值的方法:
int f = search(connectedCarIndex);
connectedImage1 = jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(f), 10).toString();
connectedImage2 = jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(f), 11).toString();
connectedImage3 = jTable1.getModel().getValueAt(jTable1.convertRowIndexToModel(f), 12).toString();
System.out.println(connectedImage1 + "-------" + connectedImage2 + "------" + connectedImage3);
但这都不起作用?
有谁能够帮助我 ?
该代码有效,如果显示行,我可以看到连接的图像名称
最佳答案
int f = search(connectedCarIndex);
我不知道 search(...) 方法的作用。
如果您要搜索表格中显示的数据,那么您只需使用:
table.getValueAt(...);
如果您要搜索存储在 TableModel 中的所有数据,那么您将使用:
table.getModel().getValueAt(...);
如果您知道要搜索的内容,则无需转换索引。
关于java - jTable 从过滤后的行中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22856643/