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>" %>![]()

Rispondi quotando