Jak wstawić index do jTable ?

Jak wstawić index do jTable ?
A3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Witam
Mam bazę na mysql , pobieram z niej dane do jTable id, imie i nazwisko. Nie pasuje mi id , gdyż po kilkukrotnym usuwaniu i dodawaniu rekordów do bazy id nie idzie już w dobrej kolejności - przeskakuje np. z 5 a następne id to 8 itd.
W wyświetleniu tych osób w jTable zależy mi na pierwszej kolumnie index w numeracji od jednego , tak żebym wiedział ile osób mam w bazie.
I teraz nie wiem , czy jest możliwość poprawnego indexowania kolumny id w bazie mysql , czyli jeżeli usunę np. rekord z id 5 to pozostałe rekordy przeindeksują mi się tak aby nie było luki , czy dodać w jTable na początku kolumnę z indeksem niezależnie od bazy, jeżeli tak to jak to dodać ?

jTableKlenci.setModel(new javax.swing.table.DefaultTableModel(
klienci, naglowkiKlienci));

pozdrawiam
Artur

GE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

id Ci się nie zgadzają bo masz pewnie AI na tej kolumnie (automatyczne inkrementowanie), jak chcesz po prostu znać ilość osób skorzystaj z funkcji count()

A3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

tak mam autoincrement na kolumnie id
Zależy mi na wstawieniu indeksu do tabeli , żebym miał widoczną numeracje osób

GE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

proponowałbym odwzorowanie tej tabelki na obiekt w Twoim programie, zawsze możesz wszystkie indeksy jako liste tych obiektów i wypisać do jTable ale już z dodatkowym z interesującą Cię indeksacją

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

I nie próbuj indeksować (zmieniać) wartości pola Id. Dziury w numeracji sa normalne. Pole Id słuzy zapewne do powiązania z innymi tabelami, zatem jego wartość nie powinna ulec zmianie co najmniej do końca świata.

A3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Zrobiłem to tak i działa :)
Vector dataVector = new Vector(ilosc_rekordow);
for (int i = 0; i < ilosc_rekordow; i++)
{
dataVector.add(i + 1);

        }
    model.addColumn("lp ", dataVector);

Tylko kolumna dokleja mi się na końcu tabeli , ktoś wie jak dać ją na początku ?

A3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

rozwiązanie
wstawiamy kolumnę , a dopiero później ją przestawiamy w odpowiednie miejsce

jTable.moveColumn(jTable.getColumnCount()-1, 0);

bakeraw2
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 400
0

A może spróbuj utworzyć własną klasę modelu tabeli i tam zaimplementuj w niej wstawianie kolumny z numerem porządkowym zamiast kombinować na około?

http://www.java2s.com/Tutorial/Java/0240__Swing/1020__JTable-Model.htm

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.