簡體   English   中英

jTable從過濾的行中獲取數據

[英]jTable get data from filtered rows

我想從過濾的行中檢索一些數據。
這是我過濾我的表格的方式:

    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);

我不知道搜索(...)方法的作用。

如果您正在搜索表中顯示的數據,那么您只需使用:

table.getValueAt(...);

如果要搜索存儲在TableModel中的所有數據,那么您將使用:

table.getModel().getValueAt(...);

如果您知道要搜索的內容,則無需轉換索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM