Salve devo fare la paginazione di una tabella risultante da una query, come posso fare???
Salve devo fare la paginazione di una tabella risultante da una query, come posso fare???
Maggiori dettagli?
Parliamo di una JTabel?
Parliamo di una tabella HTML generata da JSP?
Di che parliamo?
Come ottieni i dati dal DB? Che strutture dati hai creato/utilizzato per ottenere i dati?
Un po' di codice che ci illustri la situazione (c.f.r punto 6 del regolamento)?
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
parlo di una jsp
eseguo la select
mi creo il PesultSet e devo paginarlo
Come posso fare ???
codice:rs = stmt.executeQuery(sql); num_colonne = rs.getMetaData().getColumnCount(); int num_righe; int num_riga; %> <table align="left" border="1" > <tr> <% for(i=1;i<=num_colonne;i++ ) { %> <th style="color:white; background-color:#FFAA5B; text-align:left; vertical-align:center; font-family:verdana; font-size:16px;font-weight:bold;"> <%=rs.getMetaData().getColumnName(i)%> </th> <% } %> </tr> <% while(rs.next()) { %> <tr> <% for(i=1;i<=num_colonne;i++ ) { %> <td style="background-color:white; text-align:left; vertical-align:center; font-family:verdana; font-size:14px;"> <%=rs.getString(rs.getMetaData().getColumnName(i))%> </td> <% } %> </tr> <% } %> </table>
Mi pareva di aver scritto
e ovviamente, come se non l'avessi scritto...Un po' di codice che ci illustri la situazione (c.f.r punto 6 del regolamento)![]()
Ad ogni modo, per paginare, dovresti procedere in questo modo (ma fare tutto da una JSP è complesso, oltre che formalmente sbagliato: è compito di una servlet!)
1) Scorri tutto il ResultSet e memorizzi ciascun record in una struttura dati apposita (esempio, ArrayList)
2) Ottieni il numero totale di record presenti nell'ArrayList ( vedi metodo size() )
3) Ottieni il numero di pagine in questo modo:
A questo punto hai tutte le informazioni per paginare.codice:int totRecords = tuoArrayList.size(); // Ottengo il numero di record int totPagine = (int) (totRecords / numeroRecordPerPagina); if ((totRecords % numeroRecordPerPagina) > 0) totPagine++;
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza