begin process at 2012 05 28 06:57:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

Tableau généré dynamiquement, accéder aux controles


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau généré dynamiquement, accéder aux controles

mardi 1 février 2005 à 16:01:23 | Tableau généré dynamiquement, accéder aux controles

Cookiem

Bonjours.

Alors j'ai créé un tableau, je le remplis en fonction d'un select.
Dans chaque ligne je met diverse chose, label, textbox, bouton.


J'ai réussi a générer un événement handles lorsqu'on click sur le bouton (en m'inspirant d'une réponse de cyril/jesusonline à une autre question :p).

J'arrive a récupérer la ligne du tableau sur laquel le bouton à été cliquer.
(vias l'id du bouton)

Jusque la ca va ... sauf que même avec le  numéros de ligne et le numéros de cellule,
(j'ai qu'une cellule  par ligne ca va il a pas été trop dure à trouver :p).
J'arrive pas à accéder au controle (textbox, label).

Je pensais que ca marchais un peu comme les data set.
(dataset.tables("nom_table").rows(index).("nom") )
Mais ca a pas l'air.
Quelqu'un aurait une astuce pour accéder à mes controle?

Voici mon code si ca vous intéresse:

(page load)
(...)

Dim n, m As Integer

n = 0

m = ds.Tables("ajout").Rows().Count

Do While n < m

Dim cellule As New TableCell

Dim ligne As New TableRow

Dim label1 As New Label

label1.Text = "test"

cellule.Controls.Add(label1)

cellule.Controls.Add(label2)

If (ds.Tables("ajout").Rows(n)("Statut") = "2a" And Session("niveau") = 2) Or (ds.Tables("ajout").Rows(n)("Statut") = "1a" And Session("niveau") = 1) Then

Dim tbox = New TextBox

tbox.Visible = False

tbox.Text = "Rentrer un commentaire ici."

cellule.Controls.Add(tbox)

Dim bouton As New Button

Dim chaine_bouton As String

chaine_bouton = n

chaine_bouton = "bouton" + chaine_bouton

bouton.ID = chaine_bouton

bouton.Text = "Editer"

AddHandler bouton.Click, AddressOf bouton_click

 

cellule.Controls.Add(bouton)

End If

ligne.Cells.Add(cellule)

Table2.Rows.Add(ligne)

n = n + 1

Loop

end sub

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

Dim n As Integer

n = Left(sender.id, Len(sender.id) - 6) ' bouton : 6 lettre d'où le six.

End Sub

mardi 1 février 2005 à 17:02:19 | Re : Tableau généré dynamiquement, accéder aux controles

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Arg, j'aime pas faire ca, c'est chiant

Donc, il me semble qu'il suffit de mettre un ID a ton controle et puis apres tu le trouve en faisant page.findcontrol("id") ou container.findcontrol("id") avec container qui est l'element parent de ton controle.

Normalement ca marche comme ca. Le problème qui peut apparaitre c'est que vu que tu boucles tu auras toujours la meme id, et ca asp.net va pas aimer et va donc faire sa soupe tu peux rajouter un id "dynamique" tu lui rajoutes i à la fin par exemple, et peut etre que ca passera mais encore pas sur.

J'espere t'avoir un peu aidé, je regarderais plus en détail ce soir si je trouve le temps et si tu n'as pas trouvé de solution avant évidemment :)


Cyril  - http://Hoshimi.CodeS-SourceS.fr
mercredi 2 février 2005 à 09:00:05 | Re : Tableau généré dynamiquement, accéder aux controles

Cookiem

J'ai déjà rajouté un ID dynamique pour le bouton.
Je vais tester en mettant un id à mes label/textbox et utilisé ton find control on verra bien .
mercredi 2 février 2005 à 09:14:44 | Re : Tableau généré dynamiquement, accéder aux controles

Cookiem

Bon ben ca marche nickel, par contre j'ai pas certaines propriétés (genre texte) ce qui peut être génant .

(tant que j'y suis, j'ai essayé de mettre des radios boutons dans mon tableau ... mais il veut pas , c'est possible d'en mettre ou pas )
mercredi 2 février 2005 à 15:42:17 | Re : Tableau généré dynamiquement, accéder aux controles

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
findcontrol te retourne un control, pour avoir son bon type il faut le caster

(textbox)findcontrol("blablabla") en C# ou ctype(findcontrol("blablabla"),textbox) en VB

pour ce qui est de tes radios buttons, ca me semble bizarre qu'il ne veuille pas. Ca te met quoi comme erreur ?


Cyril  - http://Hoshimi.CodeS-SourceS.fr
jeudi 3 février 2005 à 08:31:49 | Re : Tableau généré dynamiquement, accéder aux controles

Cookiem

Pour les radios boutons ben ... c'est normal que ca te semblait bizzard vu qu'en fait ca marche.
(par contre je capte pas la semaine derniere il faisait comme si il connaissait pas le type radio bouton et la ... nickel )


Et pour le cast ca marche nickel aussi .
(je savais pas qu'on pouvais caster en vb ca marche aussi pour le vb pas . net ?)
jeudi 3 février 2005 à 12:18:57 | Re : Tableau généré dynamiquement, accéder aux controles

jesusonline

Membre Club Administrateur CodeS-SourceS
pour VB non .net j'en sais rien, j'ai appris la prog avec vb.net mais il me semble que c'est aussi possible sauf que la notion d'objet et beaucoup moins presente.

Je crois qu'il y a aussi les fonctions Cint, Cstr etc... mais pas sur


Cyril  - http://Hoshimi.CodeS-SourceS.fr


Cette discussion est classée dans : bouton, ligne, cellule, add, rows


Répondre à ce message

Sujets en rapport avec ce message

ajouter un tableau dans un tableau [ par juando ] J'ai un tableau de créer dans ma page asp.net et dans ce tableua je voudrais ajouter des tableaux dynamiquement en fonction de ce que je lis dans un b bouton suivant/precedent dans une page asp.net [ par jakarenda ] Salut, c'est un site web asp.net en liaison avec une base de donnée sal server 2008 et je me trouve devant un obstacle : une de mes page contient un WebControl dynamique [ par isadev ] isadevBonjour,Je veux créer des boutons dynamiques (un nombre qui varie selon certaines données).J'y arrive sans problèmes<table border=0 cellspacing= Feuille de style dynamique [ par walterskinner ] Bonjour,Je souhaite changer de façon dynamique la feuille de style utilisé par ma page. Pour cela, je pensai utiliser les lignes suiva update dans un gridvieuw [ par bendsiham ] Bonjour, je suis entrain de faire une mise à jour d'une table via une gridvieuw en utilisant un poutton modiffier (Asp.net(Vb.net 2008)) dans l'even Grid view --> recuperation des donnees de la ligne avec le bouton du templatefield [ par chach33 ] Bonjour a tous, Je voudrais recuperer les donnees de la ligne de ma gridview avec le bouton qui lui correspond. C'est un bouton que j'ai placé dans colonne bouton dans une htmltable [ par fizou1989 ] Bonjour, je suis entrain de faire ma première application en ASP.net ,mon problème c'est que j 'ai crée une table htmltable sous ASP.net (c#) , que je comment copier /coller une ligne en copiant collant une cellule de la ligne [ par tmaha ] Bjr j'ai une BDD sur Excel de Gestion de Stock sur Feuil1 et Feuil2 les memes table(entrees et sorties) je veux pouvoir copier une cellule sur entres( lire un valeur leurs en sélectionné un champ dans datagridview [ par vaydi08 ] Salut tout le monde, je suis en train de faire un mini projet en c#, j'ai utilisé un datagridview qui m'affiche tous les enregistrements de ma table bouton de mise a jour [ par vimich36 ] Salut, g 1 probleme, j'affiche des données issues d'une bdd avec une boucle while dans textbox, et en face chaque ligne un bouton mettre a jour est cr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales