Thread View: pl.comp.lang.java
2 messages
2 total messages
Started by Pawel
Wed, 26 Oct 2011 09:24
jdbc i jtable
Author: Pawel
Date: Wed, 26 Oct 2011 09:24
Date: Wed, 26 Oct 2011 09:24
60 lines
3033 bytes
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
Author: Jacek Czerwinski
Date: Wed, 26 Oct 2011 10:59
Date: Wed, 26 Oct 2011 10:59
13 lines
1295 bytes
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