OVH Cloud OVH Cloud

Parcourir un DataList

3 réponses
Avatar
Fr
Bonjour,

J'affiche sur une page des information (type identité d'un client) issu d'un
SQLDatasource dans un Datagrid
ces informations ne doivent pas être modifié, je ne propose pas d'update.
ça, c'est ok

à coté, sur la meme page je souhaite poser un nombre de question variable
(selon le client) .

Je dispose de la liste des questions (ainsi que les réponse precedement
enregistrée) à poser dans un autre sqldatasource.


J'arrive à afficher dans un Datalist ces questions/reponse

<asp:DataList ID="dl_question_reponse"
runat="server"
DataSourceID="dsquestion_reponse"
>

<ItemTemplate>
<asp:Label ID="LIBELLELabel" runat="server" Text='<%# Eval("LIBELLE")
%>'></asp:Label>
<br />
<asp:TextBox ID="REPONSELabel" runat="server" Text='<%# Bind("REPONSE")
%>'></asp:TextBox>
<br />
</ItemTemplate>

</asp:DataList>


Je met un bouton de validation
<asp:Button ID="bt_valide" runat="server" Text="Valider ces informations."
/>

Maintenant j'aimerais pouvoir, quand je clique sur ce bouton, parcourir le
datalist afin d'appeler pour chaque reponse, une procedure stocké qui
enregistrera dans la base les réponses saisie en face de chaque question. Il
faudra surement que j'ajoute dans mon <ItemTemplate> un label caché qui
comprend l'ID unique de la question...mais le problème n'est pas là.

J'ai beau me mettre en debug et analyser les différentes valeures prises par
les différents objet, je n'arrive pas à récupérer ne serait-ce que le
libéllé de la question.

Ce que j'arrive à faire
Protected Sub bt_valide_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles bt_valide.Click

Dim t As String
Dim contr As System.Web.UI.Control

contr =
dl_question_reponse.Items.Item(0).FindControl("LIBELLELabel")
t = contr.ToString()
End Sub

En faisant ça, t est egale à "System.Web.UI.WebControls.Label" ?!


Avez-vous une idée ?

Merci d'avance.

Fr@ncky

--

3 réponses

Avatar
zk
parcourir un datalist

For i As Integer = 1 To lstListe.Items.Count - 1
lstListe.Items(i).Value 'la valeur a la position i
lstListe.SelectedValue 'La valeur selectionnée de la liste
Next

j'espere que ca va t'aider

"" a écrit :

Bonjour,

J'affiche sur une page des information (type identité d'un client) issu d'un
SQLDatasource dans un Datagrid
ces informations ne doivent pas être modifié, je ne propose pas d'update.
ça, c'est ok

à coté, sur la meme page je souhaite poser un nombre de question variable
(selon le client) .

Je dispose de la liste des questions (ainsi que les réponse precedement
enregistrée) à poser dans un autre sqldatasource.


J'arrive à afficher dans un Datalist ces questions/reponse

<asp:DataList ID="dl_question_reponse"
runat="server"
DataSourceID="dsquestion_reponse"
>

<ItemTemplate>
<asp:Label ID="LIBELLELabel" runat="server" Text='<%# Eval("LIBELLE")
%>'></asp:Label>
<br />
<asp:TextBox ID="REPONSELabel" runat="server" Text='<%# Bind("REPONSE")
%>'></asp:TextBox>
<br />
</ItemTemplate>

</asp:DataList>


Je met un bouton de validation
<asp:Button ID="bt_valide" runat="server" Text="Valider ces informations."
/>

Maintenant j'aimerais pouvoir, quand je clique sur ce bouton, parcourir le
datalist afin d'appeler pour chaque reponse, une procedure stocké qui
enregistrera dans la base les réponses saisie en face de chaque question. Il
faudra surement que j'ajoute dans mon <ItemTemplate> un label caché qui
comprend l'ID unique de la question...mais le problème n'est pas là.

J'ai beau me mettre en debug et analyser les différentes valeures prises par
les différents objet, je n'arrive pas à récupérer ne serait-ce que le
libéllé de la question.

Ce que j'arrive à faire
Protected Sub bt_valide_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles bt_valide.Click

Dim t As String
Dim contr As System.Web.UI.Control

contr =
dl_question_reponse.Items.Item(0).FindControl("LIBELLELabel")
t = contr.ToString()
End Sub

En faisant ça, t est egale à "System.Web.UI.WebControls.Label" ?!


Avez-vous une idée ?

Merci d'avance.



--





Avatar
Fr
Ca ne marche pas.

la propriété .Value n'est pas disponible
Error 1 'value' is not a member of 'System.Web.UI.WebControls.DataListItem'.



"zk" a écrit dans le message de news:

parcourir un datalist

For i As Integer = 1 To lstListe.Items.Count - 1
lstListe.Items(i).Value 'la valeur a la position i
lstListe.SelectedValue 'La valeur selectionnée de la liste
Next

j'espere que ca va t'aider

"" a écrit :

Bonjour,

J'affiche sur une page des information (type identité d'un client) issu
d'un
SQLDatasource dans un Datagrid
ces informations ne doivent pas être modifié, je ne propose pas d'update.
ça, c'est ok

à coté, sur la meme page je souhaite poser un nombre de question variable
(selon le client) .

Je dispose de la liste des questions (ainsi que les réponse precedement
enregistrée) à poser dans un autre sqldatasource.


J'arrive à afficher dans un Datalist ces questions/reponse

<asp:DataList ID="dl_question_reponse"
runat="server"
DataSourceID="dsquestion_reponse"
>

<ItemTemplate>
<asp:Label ID="LIBELLELabel" runat="server" Text='<%# Eval("LIBELLE")
%>'></asp:Label>
<br />
<asp:TextBox ID="REPONSELabel" runat="server" Text='<%#
Bind("REPONSE")
%>'></asp:TextBox>
<br />
</ItemTemplate>

</asp:DataList>


Je met un bouton de validation
<asp:Button ID="bt_valide" runat="server" Text="Valider ces
informations."
/>

Maintenant j'aimerais pouvoir, quand je clique sur ce bouton, parcourir
le
datalist afin d'appeler pour chaque reponse, une procedure stocké qui
enregistrera dans la base les réponses saisie en face de chaque question.
Il
faudra surement que j'ajoute dans mon <ItemTemplate> un label caché qui
comprend l'ID unique de la question...mais le problème n'est pas là.

J'ai beau me mettre en debug et analyser les différentes valeures prises
par
les différents objet, je n'arrive pas à récupérer ne serait-ce que le
libéllé de la question.

Ce que j'arrive à faire
Protected Sub bt_valide_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles bt_valide.Click

Dim t As String
Dim contr As System.Web.UI.Control

contr >> dl_question_reponse.Items.Item(0).FindControl("LIBELLELabel")
t = contr.ToString()
End Sub

En faisant ça, t est egale à "System.Web.UI.WebControls.Label" ?!


Avez-vous une idée ?

Merci d'avance.



--







Avatar
Fr
Un ami viens de me donner la soluce au téléphone.

libelle_question =
CType(dl_question_reponse.Items.Item(0).FindControl("LIBELLELabel"),
Label).Text

et

libelle_reponse =
CType(dl_question_reponse.Items.Item(0).FindControl("REPONSELabel"),
TextBox).Text





"" a écrit dans le message de news:
%
Ca ne marche pas.

la propriété .Value n'est pas disponible
Error 1 'value' is not a member of
'System.Web.UI.WebControls.DataListItem'.



"zk" a écrit dans le message de news:

parcourir un datalist

For i As Integer = 1 To lstListe.Items.Count - 1
lstListe.Items(i).Value 'la valeur a la position i
lstListe.SelectedValue 'La valeur selectionnée de la liste
Next

j'espere que ca va t'aider

"" a écrit :

Bonjour,

J'affiche sur une page des information (type identité d'un client) issu
d'un
SQLDatasource dans un Datagrid
ces informations ne doivent pas être modifié, je ne propose pas
d'update.
ça, c'est ok

à coté, sur la meme page je souhaite poser un nombre de question
variable
(selon le client) .

Je dispose de la liste des questions (ainsi que les réponse precedement
enregistrée) à poser dans un autre sqldatasource.


J'arrive à afficher dans un Datalist ces questions/reponse

<asp:DataList ID="dl_question_reponse"
runat="server"
DataSourceID="dsquestion_reponse"
>

<ItemTemplate>
<asp:Label ID="LIBELLELabel" runat="server" Text='<%# Eval("LIBELLE")
%>'></asp:Label>
<br />
<asp:TextBox ID="REPONSELabel" runat="server" Text='<%#
Bind("REPONSE")
%>'></asp:TextBox>
<br />
</ItemTemplate>

</asp:DataList>


Je met un bouton de validation
<asp:Button ID="bt_valide" runat="server" Text="Valider ces
informations."
/>

Maintenant j'aimerais pouvoir, quand je clique sur ce bouton, parcourir
le
datalist afin d'appeler pour chaque reponse, une procedure stocké qui
enregistrera dans la base les réponses saisie en face de chaque
question. Il
faudra surement que j'ajoute dans mon <ItemTemplate> un label caché qui
comprend l'ID unique de la question...mais le problème n'est pas là.

J'ai beau me mettre en debug et analyser les différentes valeures prises
par
les différents objet, je n'arrive pas à récupérer ne serait-ce que le
libéllé de la question.

Ce que j'arrive à faire
Protected Sub bt_valide_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles bt_valide.Click

Dim t As String
Dim contr As System.Web.UI.Control

contr >>> dl_question_reponse.Items.Item(0).FindControl("LIBELLELabel")
t = contr.ToString()
End Sub

En faisant ça, t est egale à "System.Web.UI.WebControls.Label" ?!


Avez-vous une idée ?

Merci d'avance.



--