🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.java
2 messages
2 total messages Started by Pawel Wed, 26 Oct 2011 09:24
jdbc i jtable
#153063
Author: Pawel
Date: Wed, 26 Oct 2011 09:24
60 lines
3033 bytes
Witam wszystkich

Napisałem sobie prosty program, który łaczy się z bazą danych i wyświetla 
wyniki selecta w JTable
i robie to tak:

class MyTableModel extends AbstractTableModel{

    LinkedList<String> col;
    LinkedList dane;
    ResultSet rs;

    public MyTableModel(String s)
    {
        dane = new LinkedList();
        try
        {
            rs = Polaczenie.sel(s);
            col = new LinkedList();
            for (int i=1;i<=rs.getMetaData().getColumnCount();i++)
                        col.add(rs.getMetaData().getColumnName(i));
            int j=0;
            while(j<=5)
                if(rs.next())
                {
                            LinkedList<String> row = new LinkedList();
                                for (int 
i=1;i<=rs.getMetaData().getColumnCount();i++)
                                row.add(rs.getString(i));
                            dane.add(row);
                            j++;
                }
        }
        catch (SQLException ec)
        {
                JOptionPane.showMessageDialog(null, ec.getMessage(), 
"Error!!!", JOptionPane.ERROR_MESSAGE);
        }
    }

Wszystko jest prawie OK.
Prawie bo przy próbie wczytania duuuuuuużżżżżżżżżżzej tabelki wszystko się 
wykrzacza.
Doszedłem do wniosku że jest to spowodowane tym iż całą tabele w 
konstruktorze za jednym zamachem wrzycam do TableModel.

Wymyśliłem sobie że dane do TM będę wrzucał fragmentami i to co nie jest 
potrzebne wywalał. - tu bym prosił o sugestie czy to rozwiązanie jest 
dobre....

Idąc dalej  zrobiłem Listenera na ListSelectionListener(), w którym 
doczytuje sobie dane z ResultSeta do TM. i ślicznie mi to wyświetla.
Problem polega na tym, że w jTable po tej operacji nie mam zapamietanego 
ostatniego wiersza który był zaznaczony
(przewijanie jTable zaczyna się od początku).

Potrafie określić, który wiesz był zaznaczony przed modyfikacją TM.
Niestety nie znalazłem metody w której mógłbym skoczyć do określonego 
wiersza w JTable,
i tu bym prosił o podpowiedź...
Re: jdbc i jtable
#153064
Author: Jacek Czerwinski
Date: Wed, 26 Oct 2011 10:59
13 lines
1295 bytes
W dniu 2011-10-26 11:24, Pawel pisze:

> Wszystko jest prawie OK.
> Prawie bo przy próbie wczytania duuuuuuużżżżżżżżżżzej tabelki wszystko się
> wykrzacza.
> Doszedłem do wniosku że jest to spowodowane tym iż całą tabele w
> konstruktorze za jednym zamachem wrzycam do TableModel.

Takie skojarzenie, czy tryb VIRTUAL nie jest do tego przeznaczony, 
niestety to bardziej skomplikowane.
Wszystkie dobre kontrolki tabelowe to mają.

Z tym że Swing nie jest moją mocną stroną.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads