public void setRowFilter(final ZRowFilter f) { DefaultRowSorter rs = (DefaultRowSorter)getRowSorter(); rs.setRowFilter(new RowFilter<TableModel,Integer>() { public boolean include(RowFilter.Entry<? extends TableModel,? extends Integer> en) { if(f == null) { return true; } else { TableModel m = en.getModel(); Integer ix = en.getIdentifier(); return f.include(m, ix); } } }); }
@Override public void actionPerformed(ActionEvent e) { SwingUtilities.invokeLater(new Runnable(){ public void run() { DefaultRowSorter rowSorter = (DefaultRowSorter)parent.getTable().getRowSorter(); String regex = parent.getFilterText(); if ( regex == null || regex.length() == 0 ) { // JOptionPane.showMessageDialog(parent, "请输入需要过滤的正则表达式", // "数据过滤", JOptionPane.INFORMATION_MESSAGE); rowSorter.setRowFilter(null); } else { rowSorter.setRowFilter(RowFilter.regexFilter(regex)); // parent.getTable().setRowFilter(RowFilter.regexFilter(regex)); } } }); }
private void processKeyEvents() { ResultSetJXTable table = getDataViewTableUI(); int[] rows = new int[table.getColumnCount()]; for (int i = 0; i < table.getColumnCount(); i++) { rows[i] = i; } { MultiColPatternFilter filterP = new MultiColPatternFilter(rows); filterP.setFilterStr(matchBoxField.getText(), LITERAL_FIND); ((DefaultRowSorter) table.getRowSorter()).setRowFilter(filterP); } }
@Override public void setSortable( final boolean sortable ) { @SuppressWarnings( "unchecked" ) final DefaultRowSorter< TableModel, Integer > rowSorter = (DefaultRowSorter< TableModel, Integer >) getRowSorter(); for ( int i = tableModel.getColumnCount() - 1; i >= 0; i-- ) rowSorter.setSortable( i, sortable ); }
/** * Issue #1536-swingx: AIOOB on restoring selection with filter * */ @Test public void testSelectionWithFilterXTable() { DefaultTableModel model = new DefaultTableModel(0, 1); // a model with 3 elements is the minimum where to demonstrate // the bug int last = 2; for (int i = 0; i <= last; i++) { model.addRow(new Object[]{i}); } JTable table = new JXTable(model); // table.setAutoCreateRowSorter(true); // set selection at the end table.setRowSelectionInterval(last, last); // exclude rows based on identifier final RowFilter filter = new RowFilters.GeneralFilter() { List excludes = Arrays.asList(0); @Override protected boolean include( Entry<? extends Object, ? extends Object> entry, int index) { return !excludes.contains(entry.getIdentifier()); } }; ((DefaultRowSorter) table.getRowSorter()).setRowFilter(filter); // insertRow _before or at_ selected model index, such that // endIndex (in event) > 1 model.insertRow( 2, new Object[]{"x"}); }
/** * Issue #1536-swingx: AIOOB on restoring selection with filter * */ @Test public void testSelectionWithFilterTable() { DefaultTableModel model = new DefaultTableModel(0, 1); // a model with 3 elements is the minimum where to demonstrate // the bug int last = 2; for (int i = 0; i <= last; i++) { model.addRow(new Object[]{i}); } JTable table = new JTable(model); table.setAutoCreateRowSorter(true); // set selection at the end table.setRowSelectionInterval(last, last); // exclude rows based on identifier final RowFilter filter = new RowFilters.GeneralFilter() { List excludes = Arrays.asList(0); @Override protected boolean include( Entry<? extends Object, ? extends Object> entry, int index) { return !excludes.contains(entry.getIdentifier()); } }; ((DefaultRowSorter) table.getRowSorter()).setRowFilter(filter); // insertRow _before or at_ selected model index, such that // endIndex (in event) > 1 model.insertRow( 2, new Object[]{"x"}); }
protected void sortByColumn(int col) { DefaultRowSorter<?, ?> sorter = ((DefaultRowSorter<?, ?>) table.getRowSorter()); ArrayList<SortKey> list = new ArrayList<>(); list.add(new RowSorter.SortKey(col, SortOrder.ASCENDING)); sorter.setSortKeys(list); sorter.sort(); }
private void setSortableColumns(List<T> list) { if (table.getRowSorter() instanceof DefaultRowSorter) { DefaultRowSorter<?, ?> sorter = (DefaultRowSorter<?, ?>) table.getRowSorter(); Sortable sortable = null; if (list instanceof Sortable) { sortable = (Sortable) list; } for (int i = 0; i < keys.length; i++) { sorter.setSortable(i, sortable != null && sortable.canSortBy(keys[i])); } } }
public static void configureTableSorting(JTable theTable) { DefaultRowSorter rs = (DefaultRowSorter) theTable.getRowSorter(); for (Column c : Column.values()) { rs.setComparator(c.ordinal(), c.getComparator()); } }
@Override public void update(Observable o, Object value) { if (value instanceof GivingRecord) { int selection = convertRowIndexToModel(getSelectedRow()); model.fireTableRowsUpdated(selection, selection); clearSelection(); } else if (value instanceof List) { model.setRecords(RecordManager.getInstance().getRecords()); ((DefaultRowSorter<?,?>)getRowSorter()).sort(); } else if (value instanceof RecordFilter) { model.setRecords(RecordManager.getInstance().getRecords()); ((DefaultRowSorter<?,?>)getRowSorter()).sort(); } }
public static void sortTable( JTable table, int index ) { table.setAutoCreateRowSorter(true); DefaultRowSorter<?,?> sorter = (DefaultRowSorter<?,?>) table.getRowSorter(); List<SortKey> list = new ArrayList<SortKey>(); SortKey sort = new RowSorter.SortKey(index, SortOrder.ASCENDING) ; list.add( sort ); sorter.setSortKeys(list); sorter.sort(); }
public JDBCDriverTable(DriverInfo[] driverInfos) { this.setModel(new JDBCDriverTableModel(driverInfos)); this.setRowHeight(this.getRowHeight() + 4 + 4); this.setAutoCreateRowSorter(true); ((DefaultRowSorter)this.getRowSorter()).setMaxSortKeys(1); }
public ExperimentResultsBrowserModelWrapper(DefaultRowSorter.ModelWrapper<M, Integer> delegate) { this.delegate = delegate; }