Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: ordinamento colonne

  1. #1

    ordinamento colonne

    Qualcuno potrebbe aiutarmi a fare l'ordinamento dei dati in una colonna...
    esempio: ho il recordset rs_soci, una tabella con 2 colonne dal titolo Nominativo e Persona di Riferimento. ora vorrei che cliccando su Nominativo mi si ordinasse il record nominativo in modo prima ascendente e poi discendente, stessa cosa per Persona di Riferimento...
    Ho provato in tutti i modi, ho cercato su internet ma non riesco a mettere in pratica quello che trovo...



    Please HELP me

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    posta un po' di codice che te lo modifichiamo... tipo la parte dove apri il recordset e la parte di visualizzazione risultati

  3. #3
    E' un po un casino...
    Ho preso un altra pagina che è più semplice di quella accennata prima...

    Questa è l'apertura del recordset
    codice:
    <%
    Dim rs_commesse
    Dim rs_commesse_numRows
    
    Set rs_commesse = Server.CreateObject("ADODB.Recordset")
    rs_commesse.ActiveConnection = MM_conn_teammeccanica_STRING
    rs_commesse.Source = "SELECT * FROM Commessa ORDER BY Commessa_Numero ASC"
    rs_commesse.CursorType = 0
    rs_commesse.CursorLocation = 2
    rs_commesse.LockType = 1
    rs_commesse.Open()
    
    rs_commesse_numRows = 0
    %>
    Questa è la tabella che include anche altri 3 campi che però non devono essere ordinabili.
    codice:
    <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="20%" class="tabalto">Numero</td>
                    <td width="50%" class="tabalto">Descrizione</td>
                    <td width="10%" class="tabalto">Attivo</td>
                    <td width="10%" class="tabalto">Modifica</td>
                    <td width="10%" class="tabalto">Elimina</td>
                  </tr>
                  <% 
    While ((Repeat1__numRows <> 0) AND (NOT rs_commesse.EOF)) 
    %>
                    <tr valign="top" >
                      <td width="15%" class="divisoriominisx">"><%=(rs_commesse.Fields.Item("Commessa_Numero").Value)%></td>
                      <td class="divisoriomini">"><%=(rs_commesse.Fields.Item("Descrizione_Commessa").Value)%></td>
                      <td width="7%" class="divisoriomini"><div align="center">
                          <%
    if (rs_commesse.Fields.Item("Attivo").Value) >="True" then
          Response.Write "Si"
    else
          Response.Write "No"
    end if
    %>
                                        </div></td>
                      <td width="7%" class="divisoriomini"><div align="center">','','scrollbars=yes,width=700,height=600')">M</div></td>
                      <td width="7%" class="divisoriomini"><div align="center">','','scrollbars=yes,width=500,height=250')">E</div></td>
                    </tr>
                    <% 
      Repeat1__index=Repeat1__index+1
      Repeat1__numRows=Repeat1__numRows-1
      rs_commesse.MoveNext()
    Wend
    %>
                </table>
    Come potete vedere avevo ovviato a questo problema linkando i titoli delle colonne a nuove pagine (commesse1.asp, commesse6.asp) con i record ordinati come serve, però si verificano dei problemi ad esempio nelle sezioni ricerca del sito e comunque non è il modo giusto per affrontare la situazione...
    Grazie per l'aiuto, se c'è bisogno di altro sono qui...

  4. #4
    nella SELECT che dai in pasto al Recosrdset devi usare la clausola ORDER BY.

    Esempio:
    SQL= "SELECT * FROM nometabella WHERE condizioni... ORDER BY nomecolonna"

  5. #5
    ma c'è la clausola ORDER BY... è proprio quello il mio problema... non deve essere ordinato per uno ma per 2 campi e sia ASC che DESC

  6. #6
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    scusa se rispondo solo ora ma sono statoindaffarato....
    allora... tu non devi ordinare su 2 campi ma sempre su uno alla volta (una volta asc e una desc)
    le colonne falle così
    codice:
    <td width="20%" class="tabalto">DESC<%else%>ASC<%end if%>">Numero</td>
    <td width="50%" class="tabalto">DESC<%else%>ASC<%end if%>">Descrizione</td>
    e quando fai la query così
    codice:
    Ord = Request("Ord")
    if Ord="" then Ord="Commessa_Numero"
    tipoOrd = Request("tipoOrd")
    if tipoOrd = "" then tipoOrd="ASC"
    ...
    ...
    rs_commesse.Source = "SELECT * FROM Commessa ORDER BY " & Ord & " " & tipoOrd

  7. #7
    Giuro...sono commosso...

  8. #8
    Mmmm...
    ho un piccolo problema...
    Faccio tutto quello che mi è stato detto di fare e funziona alla perfezione tranne in un caso...
    Quando faccio una ricerca trovo ad esempio 25 record filtrati, se gli dico di ordinarmeli mi azzera la ricerca...c he devo fa?

    Ciao

  9. #9
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    non avevi mai detto che filtravi i risultati con una ricerca...
    posta il codice di come fai questa ricerca che ci mettiamo le mani

  10. #10
    Infatti questo è un altro caso, per l'altro funziona a meraviglia...
    codice:
     
    <%
    Dim rs_soci__MMColParam
    rs_soci__MMColParam = "1"
    If (Request.QueryString("find1") <> "") Then 
      rs_soci__MMColParam = Request.QueryString("find1")
    End If
    %>
    <%
    Dim rs_soci
    Dim rs_soci_numRows
    
    Ord = Request("Ord")
    if Ord="" then Ord="Nominativo"
    tipoOrd = Request("TipoOrd")
    if tipoOrd ="" then tipoOrd="ASC"
    Set rs_soci = Server.CreateObject("ADODB.Recordset")
    rs_soci.ActiveConnection = MM_conn_teammeccanica_STRING
    rs_soci.Source = "SELECT * FROM q_societa WHERE Nominativo LIKE '%" + Replace(rs_soci__MMColParam, "'", "''") + "%' ORDER BY "& ord &" " & tipoOrd
    rs_soci.CursorType = 0
    rs_soci.CursorLocation = 2
    rs_soci.LockType = 1
    rs_soci.Open()
    
    rs_soci_numRows = 0
    %>
    Find1 è il campo di ricerca

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 © 2025 vBulletin Solutions, Inc. All rights reserved.