Rechercher : dans
Par :

Datalist asp.net vb.net

Dernière réponse le 13 aoû 2008 à 14:20:47 mirela26, le 12 aoû 2008 à 14:50:39 
 Signaler ce message aux modérateurs

Bonjour,

à l'aide d'un datalist,j'affiche les données de ma table T1.
et j'aimerai faire un update dans un textbox en fonction d'un élément de ma datalist.
seulement je sais pas comment récupérer ce champ,j'ai essayé avec datalist.IdDeMonChamp,mais rien!
quelqu'un aurait t-il une idée?
merci!

Configuration: Windows XP
Firefox 2.0.0.16

1

neofenix, le 12 aoû 2008 à 14:57:17

Essaye plutôt ceci DataList1.FindControl("NomDeTonChamp");
n'oublie pas de le caster au type de champ que tu veux.
Par exemple ci c'est un label:
Label lb= (Label)DataList1.FindControl("Nom");
Label.Text....

Mince j'avais pas vu que c'etait en vb :s
findcontrol doit exister aussi je suppose mais je suis pas sur

Répondre à neofenix

2

mirela26, le 12 aoû 2008 à 17:06:52

Salut et merci pour ton post
mais en fin de ligne ,il me souligne ceci:
email='DataList1.FindControl("email")' )" et affiche "Fin d'instruction attendue"
j'ai mis les " ou ',mais rien!!
as tu une idée?

Répondre à mirela26

3

neofenix, le 12 aoû 2008 à 17:25:13

Il semblerait qu'en vb on fasse comme ceci:

Dim c As Label = CType(b.Parent.FindControl("ItemArecuperer"), Label)


ou b est:
Dim b As LinkButton = sender

donc un linkbutton dans ton datalist enfin je sais pas ce que tu as comme objet dans ton datalist donc c'est difficile de deviner :p
c'est quoi comme item ton email? si c'est un label tu fais comme ceci et sinon tu remplace label par l'item que tu souhaites

Répondre à neofenix

4

mirela26, le 12 aoû 2008 à 17:34:25

Voilà à quoi ressemble ma page aspx
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1" Height="1px" Width="360px" Font-Bold="True" Font-Italic="False" Font-Names="Verdana" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Left" ShowHeader="False" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px" CellPadding="4" GridLines="Both">
<ItemTemplate>

<asp:Label ID="NomFamilleLabel" runat="server" Text='<%# Eval("NomFamille") %>'>
</asp:Label><br />

<asp:Label ID="PrénomLabel" runat="server" Text='<%# Eval("Prénom") %>'></asp:Label><br />

<asp:Label ID="FonctionLabel" runat="server" Text='<%# Eval("Fonction") %>'></asp:Label><br />

 <asp:Label ID="Email" runat="server" Text='<%# Eval("Email") %>' Visible="false"></asp:Label>

<br />
</ItemTemplate>
<ItemStyle Font-Size="Medium" BackColor="White" ForeColor="#330099" />
<FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
<SelectedItemStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />
</asp:DataList>


et c'est le champ email que j'aimerais récuperer!

Répondre à mirela26

5

neofenix, le 12 aoû 2008 à 17:38:45

Donc essaye

Dim c As Label = CType(DataList1.FindControl("Email"), Label)
if (c != null)
{
Dim email as String=c.Text
//plus le reste que tu veux faire
}

Répondre à neofenix

6

 mirela26, le 13 aoû 2008 à 14:20:47

Ok,çà marche!!
merci!

Répondre à mirela26