begin process at 2008 05 16 19:02:25
1 173 667 membres
480 nouveaux aujourd'hui
13 972 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème a relire le contenu d'un tableau [ Scripting / VBScript ] (Maroxye)

Problème a relire le contenu d'un tableau le 08/05/2008 22:12:56

Maroxye
Bonjour à vous tous,

Je commence en ASP.net(mais 10 ans d'expérience en VB) et j'ai migré une application VS 2003 à 2005. J'ai un problème avec une fonction qui sert à relire le contenu d'un tableau. C'est en fait une interface de commande avec des champs textes. La variable monTableau se retrouve vide à la fin malheureusement. Y-a-t-il eu un changement dans le code entre 2003 et 2005? Merci à l'avance!

PrivateSub cmdCheckout_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles cmdCheckout.Click

Dim monTableau AsString() = Nothing

Dim a AsInteger

Session(

"cpt") = 0

Session(

"redim") = 10

ReDim monTableau(Session("redim"))

For a = 0 To tblDetails.Rows.Count - 1

  ReDimPreserve monTableau(Session("redim"))

  monTableau(Session(

"cpt")) = tblDetails.Rows(a).Cells(2).InnerText

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = tblDetails.Rows(a).Cells(3).InnerText

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtXXS_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("xxsmall"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtXS_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("xsmall"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtS_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("small"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtM_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("medium"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtL_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("large"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtXL_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("xlarge"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = Request.Form("txtLady_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("lady"))

  Session(

"cpt") += 1

  monTableau(Session(

"cpt")) = tblDetails.Rows(a).Cells(0).InnerText

  Session(

"cpt") += 1

  Session(

"redim") += 10

  Session(

"xxsmall") += 1

  Session(

"xsmall") += 1

  Session(

"small") += 1

  Session(

"medium") += 1

  Session(

"large") += 1

  Session(

"xlarge") += 1

  Session(

"lady") += 1

Next

Session("monTableau") = monTableau




 Maroxye


Re : Problème a relire le contenu d'un tableau le 08/05/2008 22:14:00

Maroxye
Désolé, j'ai copié-collé mon code et il apparaîssait correctement avant que je le soumettes. Je ne peux malheureusement plus le modifier maintenant...

 Maroxye


Re : Problème a relire le contenu d'un tableau le 08/05/2008 22:35:42

nhervagault
Salut

Le code etant tres bien commenté on ne comprends rien
De plus evites de faire de la programmation Vb dans ton probleme (mets les redim a la poubelle )

Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") --> tblDetails.Rows(a).Cells(6).InnerText.Replace(",",string.empty)
C'est plus objet

Mets
option strict on
option explicit on



utilise les objets dotnet
Arraylist ou List<T> qui te permettra de gagner en performance et en maintenabilité.

Dim monTableau as new Arraylist
monTableau.add( Request.Form("txtLady_" & Replace(tblDetails.Rows(a).Cells(6).InnerText, " ", "") & Session("lady"))
Et tu n'aura plus besoin de gerer les redim.

De plus tu peux creer une classe avec tes 7 membres
xxsmall, ...
Que tu stockes dans l'arraylist car contrairement a asp3 la plupart des classes sont serialisables dans des sessions

Cela permet de rendre plus maintenable ton code.

Evite d'utiliser 50 variables de session.

Avec le débugeur de VS.Net tu ajout un espion et regardes les valeurs de tes varizbles et session.


Bon coding


Classé sous : session, rows, cpt, montableau, tbldetails

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS