ASP.NET + Tableau et textbox dynamique

biowaste Messages postés 20 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 21 mars 2005 - 21 mars 2005 à 16:08
biowaste Messages postés 20 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 21 mars 2005 - 21 mars 2005 à 16:24
Bonjour !



J'ai un gros problème et après maintes essais, je n'arrive toujoura à un résultat satisfaisant !



Voilà :



Je dois créer un object webcontrols.table contenant 4 lignes statiques
(les entêtes) et le reste des lignes est dynamique. Ces lignes
dynamiques contiennent chacunes 4 textbox créé dynamiquement. Jusque
là, pas de problème. J'ai une méthode pour générer les entêtes et
l'autres, les lignes dynamique du tableau.



Traitement :



1) Je génère les entêtes et les lignes dynamique dans if not ispostback dans le page_load. (tblTableau.Rows.Count = 8)

2) Je modifier les valeurs de mes textbox dynamiques (tblTableau.Rows.Count = 8)

3) Je clique sur le bouton enregistrer dans le base tableau (je veux
dire ici en dessous du tableau et non pas dans le tableau pour ne pas
porter confusion) (tblTableau.Rows.Count = 4)



Et voilà mon problème ! Évidement, quand je clique sur enregistrer, le
premier évenement exécuter est le page_load de ma page. Je perd donc
toutes informations relative à mon tableau. Par la suite, j'ai bien
vérifié que le viewstate était à true sur mon tableau et il est
effectivement à true.



Ce que je voudrais faire est simple. Je voudrais pouvoir enregistrer
les nouvelles valeurs entrées par l'utilisateur dans les textbox
dynamiques.



Est ce qu'il y a une façon de faire de genre de chose en ASP.NET (vb.net) ?



Merci

1 réponse

biowaste Messages postés 20 Date d'inscription mercredi 2 juillet 2003 Statut Membre Dernière intervention 21 mars 2005
21 mars 2005 à 16:24
Si ça peut aider, voilà mon code pour enregistrer : Je met en rouge les
lignes importantes ! Le reste, c'est du traitement interne :



'Pour chaque ligne du tableau contenant des heures

For intCpt = 4 To tblTemps.Rows.Count - 1

'Pour chaque colonne du tableau contenant des heures

For intCpt2 = 2 To 8


'Obtenir le ID d'affectation par rapport au ID du
projet

dsAffectation.Reset()


dsAffectation =
ObtenirAffectation(Convert.ToInt32(txtId.Text),
Convert.ToInt32(tblTemps.Rows(intCpt).Cells(0).Text))


'Vérifier que la valeur entrée est une valeur
numérique

If Not IsNumeric(CType(tblTemps.Rows(intCpt).Cells(intCpt2).Controls(0), WebControls.TextBox).Text) Then




CType(tblTemps.Rows(intCpt).Cells(intCpt2).Controls(0),
WebControls.TextBox).Text = "0"

Else



objCommand.Parameters("@NbHeures").Value =
Convert.ToDecimal(CType(tblTemps.Rows(intCpt).Cells(intCpt2).Controls(0),
WebControls.TextBox).Text)

End If


objCommand.Parameters("@DateExecution").Value =
Convert.ToDateTime(Calendrier.SelectedDates(intCpt2 - 2))


objCommand.Parameters("@IdAffectation").Value =
Convert.ToInt32(dsAffectation.Tables(0).Rows(0).Item(0))

objCommand.ExecuteNonQuery()

Next

Next



Ce code est associé au bouton enregistrer sur lequel j'appui après
avoir changé ls valeurs de mes textbox créés dynamiquement. Je ne peux
pas mettre de autopostback sur mes textbox car j'entre des valeurs
décimales.
0
Rejoignez-nous