Jak można przenieść wiersz w jTable
tak że ROW1 idzie ROW2 „s pozycji i ROW2 idzie row1” s pozycji?Przenoszenie wiersza w JTable
8
A
Odpowiedz
9
pomocą sposobu DefaultTableModel
moveRow(...)
.
Lub, jeśli nie używasz DefaultTableModel, a następnie zaimplementuj prostą metodę w swoim modelu niestandardowym.
0
TableModel model = jTable.getModel();
for(int col=0; col<model.getColumnCount(); col++) {
Object o1 = model.getValueAt(row1, col);
Object o2 = model.getValueAt(row2, col);
model.setValueAt(o1, row2, col);
model.setValueAt(o2, row1, col);
}
2
Oto mój kod, który właśnie opracowałem, korzystając z odpowiedzi na to pytanie. Dzięki tej funkcji możesz wybrać wiele wierszy naraz i przesunąć je w dół lub w górę o numer JTable
. Załączam tę funkcję do JButton
, ale wyczyszczę je, aby były bardziej czytelne.
Ostatnia linia kodu obu metod (setRowSelectionInterval()
) służy do śledzenia zaznaczenia w przenoszonym wierszu, ponieważ moveRow()
nie przesuwa zaznaczenia, ale zawartość wiersza.
public void moveUpwards()
{
moveRowBy(-1);
}
public void moveDownwards()
{
moveRowBy(1);
}
private void moveRowBy(int by)
{
DefaultTableModel model = (DefaultTableModel) table.getModel();
int[] rows = table.getSelectedRows();
int destination = rows[0] + by;
int rowCount = model.getRowCount();
if (destination < 0 || destination >= rowCount)
{
return;
}
model.moveRow(rows[0], rows[rows.length - 1], destination);
table.setRowSelectionInterval(rows[0] + by, rows[rows.length - 1] + by);
}
Powiązane problemy
- 1. Ustawianie wysokości wiersza w JTable w java
- 2. openxml - wstawianie wiersza, przenoszenie innych
- 3. Jak zaimplementować jtable ze zmienną wysokością wiersza
- 4. JTable poprawny numer wiersza po filtrowaniu
- 5. Jak niezawodnie uzyskać indeksu wiersza w JTable z MouseEvent?
- 6. Jak programowo usunąć zaznaczenie aktualnie wybranego wiersza w JTable (swing)?
- 7. Przenoszenie wiersza w górę lub w dół w trybie bootstraptable
- 8. Jak śledzić indeks wiersza, gdy JTable zostało posortowane przez użytkownika?
- 9. Przenoszenie jednego katalogu w Pythonie
- 10. Zapisywanie JTable w Excelu
- 11. Scalanie komórek w JTable
- 12. Umieszczanie JComboBox w JTable
- 13. ukryć kolumnę w JTable
- 14. Interactive JTable
- 15. Jak zmienić globalną wysokość JTable?
- 16. Jak ustawić wiersz JTable w stan "niezaznaczony" po wybraniu dowolnego wiersza w tej tabeli?
- 17. jquery jtable niestandardowe zdarzenie click
- 18. Wyłącz edycję użytkownika w JTable
- 19. Jak dodać JCheckBox w JTable?
- 20. Ustawianie nagłówków kolumn w JTable
- 21. Nieprawidłowy Sortowanie data w JTable
- 22. Wyrównanie wartości komórek w JTable?
- 23. Klucz do wprowadzania danych JTable
- 24. Przenoszenie MKCircle w MKMapView
- 25. Przenoszenie plików w C#
- 26. Przenoszenie wariancji w R
- 27. Przenoszenie pliku w Vim
- 28. Przenoszenie piramidy w Pythonie
- 29. Jak ustawić JTable na edytowanej komórce
- 30. Jak ustawić fokus do pierwszego wiersza w JTable, który znajduje się wewnątrz JScrollPane
dzięki. można podać fragment kodu, plz? – Attilah
nie zauważyłem, że istniał związek. to było pomocne. dzięki. – Attilah
ten link jest nieaktualny –