Dopo una giornata di sbattimento sono riuscito a realizzare parte del lavoro. Infatti adesso grazie alla condizione IF dal ciclo FOR EACH vengono estratti solo i campi desiderati.
Tutti i campi come si può notare sono strutturati in questo modo: IDprodotto - Quantità - Totale
Mentre scontistica e Costo Totale riportano esclusivamente lo sconto e il totale.
Il problema attualmente sta nel riuscire a posizionarli correttamente nella tabella possibilmente nell'ultima cella e uno sotto l'altro.
Di seguito il codice:
codice:
<%
'creiamo un array bidimensionale, un po abbondante visto
' che non conosco il numero di controlli del form
reDim arrayForm(1, 255)
intIndice = 0
For intLoop = 1 to Request.Form.Count
'se il numero di controlli del form e uguale a uno
valore = Request.Form(intLoop)
IF Isnumeric(valore) = True then
valore = Cint(valore)
end if
IF valore <> "0" then
'immagazzino nell'array le coppie nome-controllo/valore-controllo
arrayForm(0, intIndice) = Request.Form.Key(intLoop)
arrayForm(1, intIndice) = Request.Form.Item(intLoop)
intIndice = intIndice + 1
end if
Next
'ridimensiono l'array alle giuste dimensioni, dato che ora
' conosco il numero di controlli del form e tolgo il campo invia
ReDim Preserve arrayForm(1, intIndice-1)
Session("cart") = arrayForm
col = 3
Response.Write VALORE
For intIndice = 0 To UBound(arrayForm, 2)
Response.Write "Nome campo: " & intIndice &" - " & arrayForm(0, intIndice) & " - Valore campo: " & arrayForm(1, intIndice) & "
"
Next
j = 1 'contore delle colonne
response.write "<table border=1>" & VbCrLf
response.write "<tr>"
'for k = 1 to col
response.write "<td> IDprodotto </td><td> Quantità</td><td> Prezzo </td>"
'response.write "<td> " & k &"</td>"
'next
response.write "</tr>"
Do While count < UBound(arrayForm, 2)
'controlliamo l'inizo riga della tabella
if j = 1 then
response.write "<tr>" & VbCrLf
end if
'controlliamo e popoliamo le celle
if j <= col then
response.write "<td>"& arrayform (1,count) & "</td>" & VbCrLf
'se questo è l'ultimo elemento da visaulizzare
'e non ci troviamo nell'ultima colonna, allora
'dobbiamo inserire tot celle vuote pari alle
'celle mancanti per completare la tabella
if count = UBound(arrayForm, 2) Then
for j = j + 1 to col
response.write "<td> </td>" & VbCrLf
next
j = col
end if
end if
'controlliamo la fine della riga
if j = col then
response.write "</tr>" & VbCrLf
end if
'aggiorniamo i contatori
if j < col then
j = j + 1
else
j = 1
end if
count = count + 1
loop
response.write "</table>"
%>