LinkButon dans table

Le
JCM
Bonjour à tous

J'ai un probléme sur le code suivant, je cré par programmation une table
avec un LinkButton dans chaque cellule,

et je veux afficher une information quand on clik sur le LinkButton,

le code n'accepte pas le .OnCommand ou le .OnClick

cela me donne comme erreurSub OnCommand(..) n'est pas accessible dans ce
contexte car il st Protected. Que faire ?



' Genere les lignes et les cellules

Dim numrows As Integer = 21

Dim numcells As Integer = 3

Dim counter As Integer = 1

Dim j As Integer

For j = 0 To numrows - 1

Dim r As New TableRow()

Dim i As Integer

For i = 0 To numcells - 1

Dim c As New TableCell()

'création d'un LinkButton Web Server dans les cellules

Dim lb As New LinkButton()

lb.ForeColor = Color.White

lb.ID = "Lkb" & counter

lb.onCommand = "LinkButton_Command"

c.ApplyStyle(tableStyle)

c.Controls.Add(lb)

counter += 1

r.Cells.Add(c)

Next i

Table1.Rows.Add(r)

Next j



Sub LinkButton_Command(ByVal sender As Object, ByVal e As System.EventArgs)

Mon code .





End Sub

Merci pour vos réponses

Cordialement

JCM
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice
Le #12245061
Et OnCommand n'est pas le nom d'une procédure comme cela peut arriver avec
VBA.

Voir plutôt AddHandler qui permet d'ajouter un gestionnaire d'évènement,
quelque chose comme (non testé) :

AddHandler lb.Command,AddressOf LinkButton_Command

--
Patrice

"JCM" %23WH6%
Bonjour à tous

J'ai un probléme sur le code suivant, je cré par programmation une table
avec un LinkButton dans chaque cellule,

et je veux afficher une information quand on clik sur le LinkButton,

le code n'accepte pas le .OnCommand ou le .OnClick

cela me donne comme erreurSub OnCommand(.....) n'est pas accessible dans
ce
contexte car il st Protected.... Que faire ?



' Genere les lignes et les cellules

Dim numrows As Integer = 21

Dim numcells As Integer = 3

Dim counter As Integer = 1

Dim j As Integer

For j = 0 To numrows - 1

Dim r As New TableRow()

Dim i As Integer

For i = 0 To numcells - 1

Dim c As New TableCell()

'création d'un LinkButton Web Server dans les cellules

Dim lb As New LinkButton()

lb.ForeColor = Color.White

lb.ID = "Lkb" & counter

lb.onCommand = "LinkButton_Command"

c.ApplyStyle(tableStyle)

c.Controls.Add(lb)

counter += 1

r.Cells.Add(c)

Next i

Table1.Rows.Add(r)

Next j



Sub LinkButton_Command(ByVal sender As Object, ByVal e As
System.EventArgs)

Mon code ....





End Sub

Merci pour vos réponses

Cordialement

JCM




JCM
Le #12245051
Bonjour patrice

et je le place où dans le code ?

JCM
"Patrice" news:
Et OnCommand n'est pas le nom d'une procédure comme cela peut arriver avec
VBA.

Voir plutôt AddHandler qui permet d'ajouter un gestionnaire d'évènement,
quelque chose comme (non testé) :

AddHandler lb.Command,AddressOf LinkButton_Command

--
Patrice

"JCM" %23WH6%
> Bonjour à tous
>
> J'ai un probléme sur le code suivant, je cré par programmation une table
> avec un LinkButton dans chaque cellule,
>
> et je veux afficher une information quand on clik sur le LinkButton,
>
> le code n'accepte pas le .OnCommand ou le .OnClick
>
> cela me donne comme erreurSub OnCommand(.....) n'est pas accessible dans
> ce
> contexte car il st Protected.... Que faire ?
>
>
>
> ' Genere les lignes et les cellules
>
> Dim numrows As Integer = 21
>
> Dim numcells As Integer = 3
>
> Dim counter As Integer = 1
>
> Dim j As Integer
>
> For j = 0 To numrows - 1
>
> Dim r As New TableRow()
>
> Dim i As Integer
>
> For i = 0 To numcells - 1
>
> Dim c As New TableCell()
>
> 'création d'un LinkButton Web Server dans les cellules
>
> Dim lb As New LinkButton()
>
> lb.ForeColor = Color.White
>
> lb.ID = "Lkb" & counter
>
> lb.onCommand = "LinkButton_Command"
>
> c.ApplyStyle(tableStyle)
>
> c.Controls.Add(lb)
>
> counter += 1
>
> r.Cells.Add(c)
>
> Next i
>
> Table1.Rows.Add(r)
>
> Next j
>
>
>
> Sub LinkButton_Command(ByVal sender As Object, ByVal e As
> System.EventArgs)
>
> Mon code ....
>
>
>
>
>
> End Sub
>
> Merci pour vos réponses
>
> Cordialement
>
> JCM
>
>




JCM
Le #12245041
Patrice

j'ai remplacé la ligne :
lb.onCommand = "LinkButton_Command" par
AddHandler lb.Command,AddressOf LinkButton_Command

et LinkButton_Command est surligné avec le message 'Public Sub
LinkButton_Command(......) n'a pas la meme signature que le délégué
'Délégate Sub CommandEventHandler(........)

j'ai remplacé la ligne :
Sub LinkButton_Command(ByVal sender As Object, ByVal e As System.EventArgs)
par
Public Sub LinkButton_Command(ByVal EventNumber As Integer)

Peux-tu me dire ou est le problème
Merci pour ta réponse
Cordialement
JCM

"Patrice" news:
Et OnCommand n'est pas le nom d'une procédure comme cela peut arriver avec
VBA.

Voir plutôt AddHandler qui permet d'ajouter un gestionnaire d'évènement,
quelque chose comme (non testé) :

AddHandler lb.Command,AddressOf LinkButton_Command

--
Patrice

"JCM" %23WH6%
> Bonjour à tous
>
> J'ai un probléme sur le code suivant, je cré par programmation une table
> avec un LinkButton dans chaque cellule,
>
> et je veux afficher une information quand on clik sur le LinkButton,
>
> le code n'accepte pas le .OnCommand ou le .OnClick
>
> cela me donne comme erreurSub OnCommand(.....) n'est pas accessible dans
> ce
> contexte car il st Protected.... Que faire ?
>
>
>
> ' Genere les lignes et les cellules
>
> Dim numrows As Integer = 21
>
> Dim numcells As Integer = 3
>
> Dim counter As Integer = 1
>
> Dim j As Integer
>
> For j = 0 To numrows - 1
>
> Dim r As New TableRow()
>
> Dim i As Integer
>
> For i = 0 To numcells - 1
>
> Dim c As New TableCell()
>
> 'création d'un LinkButton Web Server dans les cellules
>
> Dim lb As New LinkButton()
>
> lb.ForeColor = Color.White
>
> lb.ID = "Lkb" & counter
>
> lb.onCommand = "LinkButton_Command"
>
> c.ApplyStyle(tableStyle)
>
> c.Controls.Add(lb)
>
> counter += 1
>
> r.Cells.Add(c)
>
> Next i
>
> Table1.Rows.Add(r)
>
> Next j
>
>
>
> Sub LinkButton_Command(ByVal sender As Object, ByVal e As
> System.EventArgs)
>
> Mon code ....
>
>
>
>
>
> End Sub
>
> Merci pour vos réponses
>
> Cordialement
>
> JCM
>
>




Patrice
Le #12245031
De mémoire le message doit préciser la signature (liste des arguments) des
deux fonctions qui doivent donc correspondre. Il s'agit de :
Private Sub LinkButton1_Command(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.CommandEventArgs)



--

Patrice


"JCM" usg7A%
Patrice

j'ai remplacé la ligne :
lb.onCommand = "LinkButton_Command" par
AddHandler lb.Command,AddressOf LinkButton_Command

et LinkButton_Command est surligné avec le message 'Public Sub
LinkButton_Command(......) n'a pas la meme signature que le délégué
'Délégate Sub CommandEventHandler(........)

j'ai remplacé la ligne :
Sub LinkButton_Command(ByVal sender As Object, ByVal e As
System.EventArgs)
par
Public Sub LinkButton_Command(ByVal EventNumber As Integer)

Peux-tu me dire ou est le problème
Merci pour ta réponse
Cordialement
JCM

"Patrice" news:
Et OnCommand n'est pas le nom d'une procédure comme cela peut arriver
avec
VBA.

Voir plutôt AddHandler qui permet d'ajouter un gestionnaire d'évènement,
quelque chose comme (non testé) :

AddHandler lb.Command,AddressOf LinkButton_Command

--
Patrice

"JCM" %23WH6%
> Bonjour à tous
>
> J'ai un probléme sur le code suivant, je cré par programmation une
> table
> avec un LinkButton dans chaque cellule,
>
> et je veux afficher une information quand on clik sur le LinkButton,
>
> le code n'accepte pas le .OnCommand ou le .OnClick
>
> cela me donne comme erreurSub OnCommand(.....) n'est pas accessible
> dans
> ce
> contexte car il st Protected.... Que faire ?
>
>
>
> ' Genere les lignes et les cellules
>
> Dim numrows As Integer = 21
>
> Dim numcells As Integer = 3
>
> Dim counter As Integer = 1
>
> Dim j As Integer
>
> For j = 0 To numrows - 1
>
> Dim r As New TableRow()
>
> Dim i As Integer
>
> For i = 0 To numcells - 1
>
> Dim c As New TableCell()
>
> 'création d'un LinkButton Web Server dans les cellules
>
> Dim lb As New LinkButton()
>
> lb.ForeColor = Color.White
>
> lb.ID = "Lkb" & counter
>
> lb.onCommand = "LinkButton_Command"
>
> c.ApplyStyle(tableStyle)
>
> c.Controls.Add(lb)
>
> counter += 1
>
> r.Cells.Add(c)
>
> Next i
>
> Table1.Rows.Add(r)
>
> Next j
>
>
>
> Sub LinkButton_Command(ByVal sender As Object, ByVal e As
> System.EventArgs)
>
> Mon code ....
>
>
>
>
>
> End Sub
>
> Merci pour vos réponses
>
> Cordialement
>
> JCM
>
>








JCM
Le #12245011
Merci Patrice

Cela fonctionne, mais j'ai un autre probléme, dans la commande Private Sub
LinkButton1_Command....
je veux récupérer le lb.text

quand j'écris Session("Choix")=lb.text
j'ai le message : Le nom 'lb' n'est pas déclaré

Vois-tu l'erreur ?

Merci pour ta réponse
JCM
"Patrice" news:
De mémoire le message doit préciser la signature (liste des arguments) des
deux fonctions qui doivent donc correspondre. Il s'agit de :
Private Sub LinkButton1_Command(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.CommandEventArgs)



--

Patrice


"JCM" usg7A%
> Patrice
>
> j'ai remplacé la ligne :
> lb.onCommand = "LinkButton_Command" par
> AddHandler lb.Command,AddressOf LinkButton_Command
>
> et LinkButton_Command est surligné avec le message 'Public Sub
> LinkButton_Command(......) n'a pas la meme signature que le délégué
> 'Délégate Sub CommandEventHandler(........)
>
> j'ai remplacé la ligne :
> Sub LinkButton_Command(ByVal sender As Object, ByVal e As
> System.EventArgs)
> par
> Public Sub LinkButton_Command(ByVal EventNumber As Integer)
>
> Peux-tu me dire ou est le problème
> Merci pour ta réponse
> Cordialement
> JCM
>
> "Patrice" > news:
>> Et OnCommand n'est pas le nom d'une procédure comme cela peut arriver
>> avec
>> VBA.
>>
>> Voir plutôt AddHandler qui permet d'ajouter un gestionnaire


d'évènement,
>> quelque chose comme (non testé) :
>>
>> AddHandler lb.Command,AddressOf LinkButton_Command
>>
>> --
>> Patrice
>>
>> "JCM" >> %23WH6%
>> > Bonjour à tous
>> >
>> > J'ai un probléme sur le code suivant, je cré par programmation une
>> > table
>> > avec un LinkButton dans chaque cellule,
>> >
>> > et je veux afficher une information quand on clik sur le LinkButton,
>> >
>> > le code n'accepte pas le .OnCommand ou le .OnClick
>> >
>> > cela me donne comme erreurSub OnCommand(.....) n'est pas accessible
>> > dans
>> > ce
>> > contexte car il st Protected.... Que faire ?
>> >
>> >
>> >
>> > ' Genere les lignes et les cellules
>> >
>> > Dim numrows As Integer = 21
>> >
>> > Dim numcells As Integer = 3
>> >
>> > Dim counter As Integer = 1
>> >
>> > Dim j As Integer
>> >
>> > For j = 0 To numrows - 1
>> >
>> > Dim r As New TableRow()
>> >
>> > Dim i As Integer
>> >
>> > For i = 0 To numcells - 1
>> >
>> > Dim c As New TableCell()
>> >
>> > 'création d'un LinkButton Web Server dans les cellules
>> >
>> > Dim lb As New LinkButton()
>> >
>> > lb.ForeColor = Color.White
>> >
>> > lb.ID = "Lkb" & counter
>> >
>> > lb.onCommand = "LinkButton_Command"
>> >
>> > c.ApplyStyle(tableStyle)
>> >
>> > c.Controls.Add(lb)
>> >
>> > counter += 1
>> >
>> > r.Cells.Add(c)
>> >
>> > Next i
>> >
>> > Table1.Rows.Add(r)
>> >
>> > Next j
>> >
>> >
>> >
>> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> > System.EventArgs)
>> >
>> > Mon code ....
>> >
>> >
>> >
>> >
>> >
>> > End Sub
>> >
>> > Merci pour vos réponses
>> >
>> > Cordialement
>> >
>> > JCM
>> >
>> >
>>
>>
>
>




Patrice
Le #12245001
La variable lb est déclarée localement dans ta boucle et de toute façon elle
ne correspondrait qu'au dernier LinkButton que tu as créé.

Par contre l'argument sender est justement l'objet qui est à la source de
l'évenement.
Donc un Dim lb as LinkButton=DirectCast(sender,LinkButton) en première ligne
de ta gestion d'évènement permettra de savoir quel est l'objet LinkButton
qui est à la source de l'évènement.

Une autre approche est de remplir la propriété CommandArgument du LinkButton
ce qui te permettra de le récupérer directement dans le gestionnaire
d'évènements via e.CommandArgument.

--
Patrice

"JCM"
Merci Patrice

Cela fonctionne, mais j'ai un autre probléme, dans la commande Private Sub
LinkButton1_Command....
je veux récupérer le lb.text

quand j'écris Session("Choix")=lb.text
j'ai le message : Le nom 'lb' n'est pas déclaré

Vois-tu l'erreur ?

Merci pour ta réponse
JCM
"Patrice" news:
De mémoire le message doit préciser la signature (liste des arguments)
des
deux fonctions qui doivent donc correspondre. Il s'agit de :
Private Sub LinkButton1_Command(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.CommandEventArgs)



--

Patrice


"JCM" usg7A%
> Patrice
>
> j'ai remplacé la ligne :
> lb.onCommand = "LinkButton_Command" par
> AddHandler lb.Command,AddressOf LinkButton_Command
>
> et LinkButton_Command est surligné avec le message 'Public Sub
> LinkButton_Command(......) n'a pas la meme signature que le délégué
> 'Délégate Sub CommandEventHandler(........)
>
> j'ai remplacé la ligne :
> Sub LinkButton_Command(ByVal sender As Object, ByVal e As
> System.EventArgs)
> par
> Public Sub LinkButton_Command(ByVal EventNumber As Integer)
>
> Peux-tu me dire ou est le problème
> Merci pour ta réponse
> Cordialement
> JCM
>
> "Patrice" > news:
>> Et OnCommand n'est pas le nom d'une procédure comme cela peut arriver
>> avec
>> VBA.
>>
>> Voir plutôt AddHandler qui permet d'ajouter un gestionnaire


d'évènement,
>> quelque chose comme (non testé) :
>>
>> AddHandler lb.Command,AddressOf LinkButton_Command
>>
>> --
>> Patrice
>>
>> "JCM" >> news:
>> %23WH6%
>> > Bonjour à tous
>> >
>> > J'ai un probléme sur le code suivant, je cré par programmation une
>> > table
>> > avec un LinkButton dans chaque cellule,
>> >
>> > et je veux afficher une information quand on clik sur le LinkButton,
>> >
>> > le code n'accepte pas le .OnCommand ou le .OnClick
>> >
>> > cela me donne comme erreurSub OnCommand(.....) n'est pas accessible
>> > dans
>> > ce
>> > contexte car il st Protected.... Que faire ?
>> >
>> >
>> >
>> > ' Genere les lignes et les cellules
>> >
>> > Dim numrows As Integer = 21
>> >
>> > Dim numcells As Integer = 3
>> >
>> > Dim counter As Integer = 1
>> >
>> > Dim j As Integer
>> >
>> > For j = 0 To numrows - 1
>> >
>> > Dim r As New TableRow()
>> >
>> > Dim i As Integer
>> >
>> > For i = 0 To numcells - 1
>> >
>> > Dim c As New TableCell()
>> >
>> > 'création d'un LinkButton Web Server dans les cellules
>> >
>> > Dim lb As New LinkButton()
>> >
>> > lb.ForeColor = Color.White
>> >
>> > lb.ID = "Lkb" & counter
>> >
>> > lb.onCommand = "LinkButton_Command"
>> >
>> > c.ApplyStyle(tableStyle)
>> >
>> > c.Controls.Add(lb)
>> >
>> > counter += 1
>> >
>> > r.Cells.Add(c)
>> >
>> > Next i
>> >
>> > Table1.Rows.Add(r)
>> >
>> > Next j
>> >
>> >
>> >
>> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> > System.EventArgs)
>> >
>> > Mon code ....
>> >
>> >
>> >
>> >
>> >
>> > End Sub
>> >
>> > Merci pour vos réponses
>> >
>> > Cordialement
>> >
>> > JCM
>> >
>> >
>>
>>
>
>








JCM
Le #12244991
Merci Patrice pour ton aide

Cela fonctionne, c'est super
J'avais posé une autre question sur le Newgroup (qui a disparue) depuis

Je voudrais faire une requête aléatoire sur une base Access pour afficher
des données dans un GridView
avec un ordre d'affichage différent (sur un champs) à chaque requête

Peux-tu m'aider ?

Cordialement
Jean Claude
"Patrice" news:
La variable lb est déclarée localement dans ta boucle et de toute façon


elle
ne correspondrait qu'au dernier LinkButton que tu as créé.

Par contre l'argument sender est justement l'objet qui est à la source de
l'évenement.
Donc un Dim lb as LinkButton=DirectCast(sender,LinkButton) en première


ligne
de ta gestion d'évènement permettra de savoir quel est l'objet LinkButton
qui est à la source de l'évènement.

Une autre approche est de remplir la propriété CommandArgument du


LinkButton
ce qui te permettra de le récupérer directement dans le gestionnaire
d'évènements via e.CommandArgument.

--
Patrice

"JCM"
> Merci Patrice
>
> Cela fonctionne, mais j'ai un autre probléme, dans la commande Private


Sub
> LinkButton1_Command....
> je veux récupérer le lb.text
>
> quand j'écris Session("Choix")=lb.text
> j'ai le message : Le nom 'lb' n'est pas déclaré
>
> Vois-tu l'erreur ?
>
> Merci pour ta réponse
> JCM
> "Patrice" > news:
>> De mémoire le message doit préciser la signature (liste des arguments)
>> des
>> deux fonctions qui doivent donc correspondre. Il s'agit de :
>> Private Sub LinkButton1_Command(ByVal sender As Object, ByVal e As
>> System.Web.UI.WebControls.CommandEventArgs)
>>
>>
>>
>> --
>>
>> Patrice
>>
>>
>> "JCM" >> usg7A%
>> > Patrice
>> >
>> > j'ai remplacé la ligne :
>> > lb.onCommand = "LinkButton_Command" par
>> > AddHandler lb.Command,AddressOf LinkButton_Command
>> >
>> > et LinkButton_Command est surligné avec le message 'Public Sub
>> > LinkButton_Command(......) n'a pas la meme signature que le délégué
>> > 'Délégate Sub CommandEventHandler(........)
>> >
>> > j'ai remplacé la ligne :
>> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> > System.EventArgs)
>> > par
>> > Public Sub LinkButton_Command(ByVal EventNumber As Integer)
>> >
>> > Peux-tu me dire ou est le problème
>> > Merci pour ta réponse
>> > Cordialement
>> > JCM
>> >
>> > "Patrice" >> > news:
>> >> Et OnCommand n'est pas le nom d'une procédure comme cela peut


arriver
>> >> avec
>> >> VBA.
>> >>
>> >> Voir plutôt AddHandler qui permet d'ajouter un gestionnaire
> d'évènement,
>> >> quelque chose comme (non testé) :
>> >>
>> >> AddHandler lb.Command,AddressOf LinkButton_Command
>> >>
>> >> --
>> >> Patrice
>> >>
>> >> "JCM" >> >> news:
>> >> %23WH6%
>> >> > Bonjour à tous
>> >> >
>> >> > J'ai un probléme sur le code suivant, je cré par programmation une
>> >> > table
>> >> > avec un LinkButton dans chaque cellule,
>> >> >
>> >> > et je veux afficher une information quand on clik sur le


LinkButton,
>> >> >
>> >> > le code n'accepte pas le .OnCommand ou le .OnClick
>> >> >
>> >> > cela me donne comme erreurSub OnCommand(.....) n'est pas


accessible
>> >> > dans
>> >> > ce
>> >> > contexte car il st Protected.... Que faire ?
>> >> >
>> >> >
>> >> >
>> >> > ' Genere les lignes et les cellules
>> >> >
>> >> > Dim numrows As Integer = 21
>> >> >
>> >> > Dim numcells As Integer = 3
>> >> >
>> >> > Dim counter As Integer = 1
>> >> >
>> >> > Dim j As Integer
>> >> >
>> >> > For j = 0 To numrows - 1
>> >> >
>> >> > Dim r As New TableRow()
>> >> >
>> >> > Dim i As Integer
>> >> >
>> >> > For i = 0 To numcells - 1
>> >> >
>> >> > Dim c As New TableCell()
>> >> >
>> >> > 'création d'un LinkButton Web Server dans les cellules
>> >> >
>> >> > Dim lb As New LinkButton()
>> >> >
>> >> > lb.ForeColor = Color.White
>> >> >
>> >> > lb.ID = "Lkb" & counter
>> >> >
>> >> > lb.onCommand = "LinkButton_Command"
>> >> >
>> >> > c.ApplyStyle(tableStyle)
>> >> >
>> >> > c.Controls.Add(lb)
>> >> >
>> >> > counter += 1
>> >> >
>> >> > r.Cells.Add(c)
>> >> >
>> >> > Next i
>> >> >
>> >> > Table1.Rows.Add(r)
>> >> >
>> >> > Next j
>> >> >
>> >> >
>> >> >
>> >> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> >> > System.EventArgs)
>> >> >
>> >> > Mon code ....
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > End Sub
>> >> >
>> >> > Merci pour vos réponses
>> >> >
>> >> > Cordialement
>> >> >
>> >> > JCM
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>




Patrice
Le #12244851
Je sais que sur SQL Server l'astuce est de trier par "NewID". Je ne sais pas
si Access à l'équivalent mais en gros le principe est de trouver une
fonction qui retourne une valeur différente non ordonnée pour chaque ligne
(ou peut-être une fonction style rnd mais je crois qu'elle risque de
retourner la même valeur pour chaque ligne).

Sinon essaie peut-être un forum Access...

--

Patrice


"JCM" %
Merci Patrice pour ton aide

Cela fonctionne, c'est super
J'avais posé une autre question sur le Newgroup (qui a disparue) depuis

Je voudrais faire une requête aléatoire sur une base Access pour afficher
des données dans un GridView
avec un ordre d'affichage différent (sur un champs) à chaque requête

Peux-tu m'aider ?

Cordialement
Jean Claude
"Patrice" news:
La variable lb est déclarée localement dans ta boucle et de toute façon


elle
ne correspondrait qu'au dernier LinkButton que tu as créé.

Par contre l'argument sender est justement l'objet qui est à la source de
l'évenement.
Donc un Dim lb as LinkButton=DirectCast(sender,LinkButton) en première


ligne
de ta gestion d'évènement permettra de savoir quel est l'objet LinkButton
qui est à la source de l'évènement.

Une autre approche est de remplir la propriété CommandArgument du


LinkButton
ce qui te permettra de le récupérer directement dans le gestionnaire
d'évènements via e.CommandArgument.

--
Patrice

"JCM"
> Merci Patrice
>
> Cela fonctionne, mais j'ai un autre probléme, dans la commande Private


Sub
> LinkButton1_Command....
> je veux récupérer le lb.text
>
> quand j'écris Session("Choix")=lb.text
> j'ai le message : Le nom 'lb' n'est pas déclaré
>
> Vois-tu l'erreur ?
>
> Merci pour ta réponse
> JCM
> "Patrice" > news:
>> De mémoire le message doit préciser la signature (liste des arguments)
>> des
>> deux fonctions qui doivent donc correspondre. Il s'agit de :
>> Private Sub LinkButton1_Command(ByVal sender As Object, ByVal e As
>> System.Web.UI.WebControls.CommandEventArgs)
>>
>>
>>
>> --
>>
>> Patrice
>>
>>
>> "JCM" >> news:
>> usg7A%
>> > Patrice
>> >
>> > j'ai remplacé la ligne :
>> > lb.onCommand = "LinkButton_Command" par
>> > AddHandler lb.Command,AddressOf LinkButton_Command
>> >
>> > et LinkButton_Command est surligné avec le message 'Public Sub
>> > LinkButton_Command(......) n'a pas la meme signature que le délégué
>> > 'Délégate Sub CommandEventHandler(........)
>> >
>> > j'ai remplacé la ligne :
>> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> > System.EventArgs)
>> > par
>> > Public Sub LinkButton_Command(ByVal EventNumber As Integer)
>> >
>> > Peux-tu me dire ou est le problème
>> > Merci pour ta réponse
>> > Cordialement
>> > JCM
>> >
>> > "Patrice" >> > news:
>> >> Et OnCommand n'est pas le nom d'une procédure comme cela peut


arriver
>> >> avec
>> >> VBA.
>> >>
>> >> Voir plutôt AddHandler qui permet d'ajouter un gestionnaire
> d'évènement,
>> >> quelque chose comme (non testé) :
>> >>
>> >> AddHandler lb.Command,AddressOf LinkButton_Command
>> >>
>> >> --
>> >> Patrice
>> >>
>> >> "JCM" >> >> news:
>> >> %23WH6%
>> >> > Bonjour à tous
>> >> >
>> >> > J'ai un probléme sur le code suivant, je cré par programmation
>> >> > une
>> >> > table
>> >> > avec un LinkButton dans chaque cellule,
>> >> >
>> >> > et je veux afficher une information quand on clik sur le


LinkButton,
>> >> >
>> >> > le code n'accepte pas le .OnCommand ou le .OnClick
>> >> >
>> >> > cela me donne comme erreurSub OnCommand(.....) n'est pas


accessible
>> >> > dans
>> >> > ce
>> >> > contexte car il st Protected.... Que faire ?
>> >> >
>> >> >
>> >> >
>> >> > ' Genere les lignes et les cellules
>> >> >
>> >> > Dim numrows As Integer = 21
>> >> >
>> >> > Dim numcells As Integer = 3
>> >> >
>> >> > Dim counter As Integer = 1
>> >> >
>> >> > Dim j As Integer
>> >> >
>> >> > For j = 0 To numrows - 1
>> >> >
>> >> > Dim r As New TableRow()
>> >> >
>> >> > Dim i As Integer
>> >> >
>> >> > For i = 0 To numcells - 1
>> >> >
>> >> > Dim c As New TableCell()
>> >> >
>> >> > 'création d'un LinkButton Web Server dans les cellules
>> >> >
>> >> > Dim lb As New LinkButton()
>> >> >
>> >> > lb.ForeColor = Color.White
>> >> >
>> >> > lb.ID = "Lkb" & counter
>> >> >
>> >> > lb.onCommand = "LinkButton_Command"
>> >> >
>> >> > c.ApplyStyle(tableStyle)
>> >> >
>> >> > c.Controls.Add(lb)
>> >> >
>> >> > counter += 1
>> >> >
>> >> > r.Cells.Add(c)
>> >> >
>> >> > Next i
>> >> >
>> >> > Table1.Rows.Add(r)
>> >> >
>> >> > Next j
>> >> >
>> >> >
>> >> >
>> >> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> >> > System.EventArgs)
>> >> >
>> >> > Mon code ....
>> >> >
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > End Sub
>> >> >
>> >> > Merci pour vos réponses
>> >> >
>> >> > Cordialement
>> >> >
>> >> > JCM
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>








JCM
Le #12244841
Merci pour ton aide Patrice
Cordialement
Jean Claude
"Patrice" news:
Je sais que sur SQL Server l'astuce est de trier par "NewID". Je ne sais


pas
si Access à l'équivalent mais en gros le principe est de trouver une
fonction qui retourne une valeur différente non ordonnée pour chaque ligne
(ou peut-être une fonction style rnd mais je crois qu'elle risque de
retourner la même valeur pour chaque ligne).

Sinon essaie peut-être un forum Access...

--

Patrice


"JCM" %
> Merci Patrice pour ton aide
>
> Cela fonctionne, c'est super
> J'avais posé une autre question sur le Newgroup (qui a disparue) depuis
>
> Je voudrais faire une requête aléatoire sur une base Access pour


afficher
> des données dans un GridView
> avec un ordre d'affichage différent (sur un champs) à chaque requête
>
> Peux-tu m'aider ?
>
> Cordialement
> Jean Claude
> "Patrice" > news:
>> La variable lb est déclarée localement dans ta boucle et de toute façon
> elle
>> ne correspondrait qu'au dernier LinkButton que tu as créé.
>>
>> Par contre l'argument sender est justement l'objet qui est à la source


de
>> l'évenement.
>> Donc un Dim lb as LinkButton=DirectCast(sender,LinkButton) en première
> ligne
>> de ta gestion d'évènement permettra de savoir quel est l'objet


LinkButton
>> qui est à la source de l'évènement.
>>
>> Une autre approche est de remplir la propriété CommandArgument du
> LinkButton
>> ce qui te permettra de le récupérer directement dans le gestionnaire
>> d'évènements via e.CommandArgument.
>>
>> --
>> Patrice
>>
>> "JCM" >>
>> > Merci Patrice
>> >
>> > Cela fonctionne, mais j'ai un autre probléme, dans la commande


Private
> Sub
>> > LinkButton1_Command....
>> > je veux récupérer le lb.text
>> >
>> > quand j'écris Session("Choix")=lb.text
>> > j'ai le message : Le nom 'lb' n'est pas déclaré
>> >
>> > Vois-tu l'erreur ?
>> >
>> > Merci pour ta réponse
>> > JCM
>> > "Patrice" >> > news:
>> >> De mémoire le message doit préciser la signature (liste des


arguments)
>> >> des
>> >> deux fonctions qui doivent donc correspondre. Il s'agit de :
>> >> Private Sub LinkButton1_Command(ByVal sender As Object, ByVal e As
>> >> System.Web.UI.WebControls.CommandEventArgs)
>> >>
>> >>
>> >>
>> >> --
>> >>
>> >> Patrice
>> >>
>> >>
>> >> "JCM" >> >> news:
>> >> usg7A%
>> >> > Patrice
>> >> >
>> >> > j'ai remplacé la ligne :
>> >> > lb.onCommand = "LinkButton_Command" par
>> >> > AddHandler lb.Command,AddressOf LinkButton_Command
>> >> >
>> >> > et LinkButton_Command est surligné avec le message 'Public Sub
>> >> > LinkButton_Command(......) n'a pas la meme signature que le


délégué
>> >> > 'Délégate Sub CommandEventHandler(........)
>> >> >
>> >> > j'ai remplacé la ligne :
>> >> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> >> > System.EventArgs)
>> >> > par
>> >> > Public Sub LinkButton_Command(ByVal EventNumber As Integer)
>> >> >
>> >> > Peux-tu me dire ou est le problème
>> >> > Merci pour ta réponse
>> >> > Cordialement
>> >> > JCM
>> >> >
>> >> > "Patrice" >> >> > news:
>> >> >> Et OnCommand n'est pas le nom d'une procédure comme cela peut
> arriver
>> >> >> avec
>> >> >> VBA.
>> >> >>
>> >> >> Voir plutôt AddHandler qui permet d'ajouter un gestionnaire
>> > d'évènement,
>> >> >> quelque chose comme (non testé) :
>> >> >>
>> >> >> AddHandler lb.Command,AddressOf LinkButton_Command
>> >> >>
>> >> >> --
>> >> >> Patrice
>> >> >>
>> >> >> "JCM" >> >> >> news:
>> >> >> %23WH6%
>> >> >> > Bonjour à tous
>> >> >> >
>> >> >> > J'ai un probléme sur le code suivant, je cré par programmation
>> >> >> > une
>> >> >> > table
>> >> >> > avec un LinkButton dans chaque cellule,
>> >> >> >
>> >> >> > et je veux afficher une information quand on clik sur le
> LinkButton,
>> >> >> >
>> >> >> > le code n'accepte pas le .OnCommand ou le .OnClick
>> >> >> >
>> >> >> > cela me donne comme erreurSub OnCommand(.....) n'est pas
> accessible
>> >> >> > dans
>> >> >> > ce
>> >> >> > contexte car il st Protected.... Que faire ?
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > ' Genere les lignes et les cellules
>> >> >> >
>> >> >> > Dim numrows As Integer = 21
>> >> >> >
>> >> >> > Dim numcells As Integer = 3
>> >> >> >
>> >> >> > Dim counter As Integer = 1
>> >> >> >
>> >> >> > Dim j As Integer
>> >> >> >
>> >> >> > For j = 0 To numrows - 1
>> >> >> >
>> >> >> > Dim r As New TableRow()
>> >> >> >
>> >> >> > Dim i As Integer
>> >> >> >
>> >> >> > For i = 0 To numcells - 1
>> >> >> >
>> >> >> > Dim c As New TableCell()
>> >> >> >
>> >> >> > 'création d'un LinkButton Web Server dans les cellules
>> >> >> >
>> >> >> > Dim lb As New LinkButton()
>> >> >> >
>> >> >> > lb.ForeColor = Color.White
>> >> >> >
>> >> >> > lb.ID = "Lkb" & counter
>> >> >> >
>> >> >> > lb.onCommand = "LinkButton_Command"
>> >> >> >
>> >> >> > c.ApplyStyle(tableStyle)
>> >> >> >
>> >> >> > c.Controls.Add(lb)
>> >> >> >
>> >> >> > counter += 1
>> >> >> >
>> >> >> > r.Cells.Add(c)
>> >> >> >
>> >> >> > Next i
>> >> >> >
>> >> >> > Table1.Rows.Add(r)
>> >> >> >
>> >> >> > Next j
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > Sub LinkButton_Command(ByVal sender As Object, ByVal e As
>> >> >> > System.EventArgs)
>> >> >> >
>> >> >> > Mon code ....
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > End Sub
>> >> >> >
>> >> >> > Merci pour vos réponses
>> >> >> >
>> >> >> > Cordialement
>> >> >> >
>> >> >> > JCM
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>




Publicité
Poster une réponse
Anonyme