INTERNET EXPLORER? Ti consiglio di navigare questo sito con Mozilla Firefox oppure con Google Chrome.

Recordset in celle di colori alternati con Asp

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Una soluzione pulita ed elegante per mostrare in una tabella Html una serie di record, è quella di utilizzare colori alternati per le celle che li conterranno.

Creiamo il nostro file Access database.mdb con una tabella chiamata appunto tabella ed un unico campo dato (inutile specificare la chiave primaria).

Fatto questo implementiamo il file leggi.asp col seguente codice

<%@LANGUAGE = JScript%>
<%
   var Cn = new ActiveXObject("ADODB.Connection");
   Cn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("database.mdb"));

   var Mostra = Cn.Execute("SELECT * FROM tabella");
%>
	
<table width="100%" border="1">
 <%
   var i = 0;
   while (!Mostra.EOF) {
      if (i%2 == 0) {
 %>
  <tr>
    <td bgcolor="#FFFFFF"><%=Mostra("dato")%></td>
  </tr>
  <%} else {%>
   <tr>
    <td bgcolor="#CCCCCC"><%=Mostra("dato")%></td>
  </tr>
 <% 
      }
      i++;
      Mostra.MoveNext();
   }
 %>
</table>

<%Cn.Close()%>
Abbiamo creato una condizione in base ad una divisione modulare della variabile i utilizzata come contatore per stabilire che il record estratto sia pari o dispari; prima di muoverci verso l'inizio del file incrementiamo il valore di i.

Nelle due condizioni specificate creiamo la stessa cella assegnandole colori differenti.

Esiste tuttavia un metodo più snello per compiere tale operazione; il codice visto sinora è volto a concedere una maggiore comprensione dello script in questione; possiamo sfruttare l'operatore condizionale ternario ed impostare in una sola riga l'intera condizione, vediamo come:
bgcolor="#<%i%2 == 0 ? Response.Write("FFFFFF") : Response.Write("CCCCCC")%>"

IN EVIDENZA

HOT LINKS