Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    141

    [JAVA/JSP] Doppio ResulSet da scorrere

    Ciao a tutti,
    ho questo problema, in una mia pagina jsp leggo da db dei dati da esporre e sempre da db, in un'altra tabella, leggo la formattazione delle colonne di output; questi due Resulset li passo a una classe che dovrebbe restituirmi un'array di righe html da esporre a video, il mio problema è questo :
    quando leggo il record dei dati devo leggere sul resulset della formattazione come deve essere formattata questa colonna ma cosa devo fare, ogni record letto di dati devo scorrere tutto il resultset della formattazione e poi riposizionarlo all'inizio per riscorrerlo al prossimo record dati?
    Oppure mi conviene salvarmi da qualche parte il record di di formattazione?
    Mi sapete dare qualche dritta?
    Grazie.
    Il resulset della formattazione è così composto:
    Nome Colonna del db (corrisponde al nome colonna del resulset dei dati),
    Etichetta da far vedere(da mettere sulla prima riga come nome colonna),
    Larghezza,
    allineamento,
    formattazione,
    link (possibile href a una pagina)

  2. #2
    Che ne dici di questa idea:

    Scorri una sola volta il ResultSet della formattazione, prima di iniziare a creare la tabella dove inserire i dati.

    In questo ciclo riempi un java.util.Hashtable utilizzando come chiave il nome della colonna e come oggetto memorizzato un apposito oggetto che possiede le 4 proprietà da te indicate:
    [list=1][*]Etichetta[*]Larghezza[*]Allineamento[*]Formattazione[*]Link[/list=1]

    Se non vuoi creare una classe ad hoc, puoi utilizzare un array di String di 5 elementi (6, in posizione 0 inserisci il nome della colonna per completezza)

    Il codice di inizializzazione della struttura potrebbe essere una cosa del genere:
    codice:
    // Nuova hash
    Hashtable formatCols = new Hashtable()
    
    // Ciclo su ResultSet di formattazione
    while(rSetFormat.next()) {
       // Riempio il mio array di parametri
       // uso nomi ipotetici per i campi del resultSet
       // ovviamente vanno sostuiti con quelli giusti
       String formtParam[] = new String[7];
       formtParam[0] = rSetFormat.getString("colonna");
       formtParam[1] = rSetFormat.getString("etichetta");
       formtParam[2] = rSetFormat.getString("larghezza");
       formtParam[3] = rSetFormat.getString("allineamento");
       formtParam[4] = rSetFormat.getString("formattazione");
       formtParam[5] = rSetFormat.getString("link");
    
       // Aggiungo all'hash, indicizzando i parametri
       // con il nome della colonna, che si trova in posizione
       // 0 dell'array di stringhe
       formatCols.put(formtParam[0],formtParam);
    }
    A questo punto, per conoscere la formattazione dell'i-esimo dato del tuo ResultSet di dati, basterà interrogare l'oggetto che nell'Hashtable è indicizzato con il nome della colonna del dato.

    Spero di essere stato chiaro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    141
    si grazie

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.