thonyboy
Messages postés165Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention16 février 2011
-
12 sept. 2008 à 14:56
thonyboy
Messages postés165Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention16 février 2011
-
13 sept. 2008 à 21:49
Bonjour
J'ai un peu de mal avec la portée des variables et j'aimerais que l'on m'éclaire un peu
Je fais un ptit prog qui charge une base Nom + Prenom et qui l'affiche dans un DataGrid.
Comme j'ai besoin d'accéder a ma table depuis plusieurs procédures, je l'ai déclaré en dehors des procédures.
J'ai cru comprendre que c'est comme ca qu'il fallait faire.... (voir bout de code ci dessous)
Ce qui me choque c'est que si je met un point d'arret en debug sur la ligne de déclaration de la table par exemple (Public Table3 AsNew DataTable)
je constate que chaque fois que je clique sur une ligne de ma datagrid, je passe par ce point d'arret !!!! et franchement je ne comprend pas la raison.
Du coup je me dit que a chaque fois que je clique sur un enregistrement je redéclare ce qui est déjà déjà déclaré ?
Bref j'aimerais bien comprendre, ou alors ce n'est pas comme cela que j'aurais du faire ?
D'avance merci
Partial
Class Default4
Inherits System.Web.UI.Page
Public Data3
As
New DataSet()
Public Table3
As
New DataTable
Dim Nom
As
New DataColumn(
"Nom",
GetType(System.String))
Dim Prenom
As
New DataColumn(
"Prénom",
GetType(System.String))
Protected
Sub ListeUtilisateurs() 'Procédure qui rempli ma table
If Data3.Tables.Count > 0
Then
Data3.Tables(0).Clear()
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201136 12 sept. 2008 à 23:36
Salut,
Alors le probleme est simple.
A chaque fois que tu cliques sur une ligne il y a reformation (un nouveau rendu) de la page
et renvoyé au client (navigateur web) c'est un postback
Et comme ta variable est globale à la page.
Elle est réinitialisée, car la classe est réinstanciée.