komard
Messages postés7Date d'inscriptionlundi 7 juin 2004StatutMembreDernière intervention20 mai 2009
-
12 juil. 2004 à 22:04
komard
Messages postés7Date d'inscriptionlundi 7 juin 2004StatutMembreDernière intervention20 mai 2009
-
19 juil. 2004 à 09:19
salut et merci d'avance ...
j'ai un problème tout bidon à résoudre ... pour quelqu'un qui s'y connait en asp.net :
je veux créer un tableau dynamic avec disons 3 colonnes et une ligne au début (qui se créée onPageLoad), puis rajouter des lignes au fur et à mesure que je clique sur un bouton !
ça fait à peu près ça :
... sub button1_click (...)
dim row as new tablerow
dim cell as new tablecell
row.cells.add(cell)
table.rows.add(row)
end sub
(avec tout le code autour bien sur : déclaration de "table" etc ...)
il n'y a pas d'erreur, au chargement de la page, le tableau contient une ligne, ensuite je clique sur le bouton 1, et là, le tableau contient deux lignes ... c'est après que ça se gâte quand je clique une deuxième fois sur le bouton et que plus ne rien ne se passe, à part le rechargement de la page ! (bref, aucune ligne ne s'ajoute après la deuxième) je pense qu'il y a une histoire avec les variables qui sont réinitialisées au rechargement de la page mais je ne m'y connais pas assez !
j'idolâtre les gens qui sont forts en ASP.NET ... ;-) !
merci beaucoup !
doudou
p.s : si je fais une boucle "for" ou "do ... while", j'arrive à ajouter autant de lignes que je veux, seulement il faut qu'une seule ligne s'ajoute quand je clique sur le bouton !
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 12 juil. 2004 à 22:25
Ton problème m'interesse malheureusement je n'ai pas le temps ce soir, ni demain soir, donc repond à ce message mercredi, au cas où j'y oublierais
Je peux cependant expliquer ton problème
tu fais ds le page_Load un ajout d'une cellule
idem dans le btn_click
la premiere fois que tu charges ta page, tu fais que la page_load donc il t'ajoute qu'une cellule
mais qd tu cliques, il te fait le page_load plus le click ... tu peux verifier si tu veux en ajoutant cell.text = now.toLongTimeString, tu verras que tu n'ajoutes pas de cellule à la premiere fois que tu charges la page
pour palier à ce probleme tu peux faire dans le page_load
if not page.ispostback
dim row as new tablerow
dim cell as new tablecell
row.cells.add(cell)
table.rows.add(row)
then
Ton problème est donc un problème de Postback, j'ai encore pas trop reflechi à la question, je pense qu'il faudras utiliser le viewstate, ou une astuce du genre, mais la j'ai pas plus de temps ni la tete à ca pour y regarder [:'(]
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 17 juil. 2004 à 13:41
dsl pour le retard.
Voici ce que j'ai fait, j'ai pas pu utiliser le viewstate car il est not serializable donc j'ai utilisé une variable sessions :
voici le code, il est pas commenté mais tres simple
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Placez ici le code utilisateur pour initialiser la page
Dim tableau As New System.Web.UI.WebControls.Table
If Not Page.IsPostBack Then
Dim row As New TableRow
Dim cell As New TableCell
cell.Text = Now.ToShortTimeString & Now.Millisecond & "Page_load"
row.Cells.Add(cell)
tableau.Rows.Add(row)
Page.Controls.Add(tableau)
Session("Tableau") = tableau
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Tableau As System.Web.UI.WebControls.Table = CType(Session("Tableau"), Table)
Dim row As New TableRow
Dim cell As New TableCell
cell.Text = Now.ToShortTimeString & Now.Millisecond
row.Cells.Add(cell)
Tableau.Rows.Add(row)
Page.Controls.Add(Tableau)
Session("Tableau") = Tableau
End Sub
si tu comprend pas tout, tu n'as qu'a me le dire, et je t'expliquerais
komard
Messages postés7Date d'inscriptionlundi 7 juin 2004StatutMembreDernière intervention20 mai 2009 19 juil. 2004 à 09:19
salut !
je débute mais je comprends bien ce que tu fais, par contre j'aurais pas moi-même pensé à faire cela ! j'ai pas encore testé le code mais je te remercie d'avoir cherché (et trouvé d'ailleurs) pour m'aider !