Compter des listebox ....

Résolu
Poulipe Messages postés 171 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 9 mai 2012 - 7 oct. 2004 à 10:03
Poulipe Messages postés 171 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 9 mai 2012 - 7 oct. 2004 à 13:04
bonjour,
sous asp.net, je creer des listbox dynamiquement selon une base de donnee....et je dois recuperer les choix de ces listbox, et jusque la, je n y arrive pas....j ai essaye avec for each "list" mais sans resultat....
ma question est donc comment tester les types de mes controls afin de filtrer les listbox...

merci

9 réponses

Poulipe Messages postés 171 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 9 mai 2012
7 oct. 2004 à 12:34
ca y est en faisant :

Dim varsearch As String
Dim LB As DropDownList
Dim c As Control
Dim j As Integer
For i = 0 To Me.tab_kat.Rows.Count - 1
For j = 0 To Me.tab_kat.Rows.Item(i).Cells.Count - 1
For Each c In Me.tab_kat.Rows.Item(i).Cells(j).Controls
If c.GetType.ToString = "System.Web.UI.WebControls.DropDownList" Then
LB = c
varsearch = varsearch & LB.SelectedItem.Value.ToString & ";"
End If
Next
Next
Next

If Len(varsearch) > 0 Then varsearch = Left(varsearch, Len(varsearch) - 1)
Response.Write(varsearch)

houa, merci encore
et je pense au rs... je me servirais de l objet sqlclient
si c est a ca que tu pensais......
3
cs_AshenShugar Messages postés 202 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 22 janvier 2009 1
7 oct. 2004 à 10:32
Tu peux pas faire un truc du style :

for each item in Request.Form
If len(item.name) = 4 Then
...
End If
Next


En AsP, il me semble que ca marche, mais en ASP.NET, je te garantis rien
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 oct. 2004 à 10:54
Je comprend pas la source de AshenShugar, je comprend pas le len(item.name=4 ???

sinon regarde ca : http://www.aspfr.com/code.aspx?ID=21286 cette source devrait je pense t'interesser.

j'ai déjà résolu cette question sur un autre post, mais je me rappelle plus du titre du sujet, j'avais utilisé une autre méthode, j'avais utilisé le viewstate ...

mais la source devrait dèjà bien t'eclairer :)

@+

Cyril
0
Poulipe Messages postés 171 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 9 mai 2012
7 oct. 2004 à 11:10
pour ma creation je fais comme ca :

If Not rs.BOF Or Not rs.EOF Then
While Not rs.EOF
Dim neuecel1 As New HtmlTableCell()
neuecel1.InnerHtml = celfont & rs.Fields("AR_RF_TEXT").Value & "
" & celfont_end
listbox1 = New DropDownList()
listbox1.ID = "lb_" & nb_cell
list_fullen(listbox1, rs.Fields("AR_KEY_1").Value)
neuecel1.Controls.Add(listbox1)
neuecel1.Align = "center"
neuecel1.VAlign = "top"
neuelinie.Cells.Add(neuecel1)
neuelinie.BgColor = "#98b7ff"
If nb_cell = 3 Then
nb_cell = 1
neuelinie.Height = "30"
neuelinie.ID = "linie_" & n
tab_kat.Rows.Add(neuelinie)
n = n + 1
neuelinie = New HtmlTableRow()
End If
nb_cell = nb_cell + 1
rs.MoveNext()
End While
neuelinie.Height = "30"
neuelinie.ID = "linie_" & n
tab_kat.Rows.Add(neuelinie)

End If
rs.Close()

j ai regarde l article, mais ca m a l air bien different de la methode que j ai faite. Est-ce que ma methode est incorrecte ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 oct. 2004 à 11:41
non ca ne m'a pas l'air si different que ca

mais juste un petit commentaire, les RecordSet sont dépassé avec asp.net il existe des objets qui sont plus adapté pour faire des connexions avec des bdd

mais pour revenir au problème tu fais bien
listbox1 = New DropDownList()
listbox1.ID = "lb_" & nb_cell

apres lorsque tu cliques sur le bouton qui envoie ta page au formulaire tu peux faire

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

Dim LB as Listbox

for each c as controls in page.Controls
if left(c.id,3) = "lb_" then
try
LB = ctype(c,Listbox)
response.write(" LIstbox N° : " & substring(c.id,3) & LB.selectedvalues)
catch
'erreur
End Try
End if
next

End Sub

Le code si dessus est fait à la main et rapidement donc il se peut qu'il y ait des erreurs, mais je te donne le fil directeur :)

Sinon essaye de retrouver ma méthode avec le viewstate, elle est un peu plus complexe mais je la trouve mieux car ca evite le bloc try end try, qui essaye de faire qqchose d'asardeux

@+

Cyril
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 oct. 2004 à 11:47
ici : http://www.aspfr.com/forum.v2.aspx?ID=292435

je pense que ca pourrait aussi t'interesser, je croyais que c'etait à peu pres le meme cas que toi mais non, mais tu pourras qd meme te servir de la source si tu arrives à la comprendre

Cyril
0
Poulipe Messages postés 171 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 9 mai 2012
7 oct. 2004 à 12:08
pour le rs, je suis d accord, mais ca viendra en optimisation de mon prog plus tard...

et pour ce que tu m a filer, ca me donne strictement rien, j ai declarer c en control car il me le demandait donc j ai ca,

Dim c As Control
For Each c In Me.tab_kat.Controls
i = i + 1
Response.Write(i & "
")
If Left(c.ID, 3) = "lb_" Then
Try
LB = CType(c, DropDownList)
listselectantwort.Items.Add(" LIstbox N° : " & c.ID & LB.SelectedItem.Text)
Catch
'erreur
Response.Write(Err.Description)
End Try
End If
Next

et quand je clic sur mon bouton pour recuperer les valeurs des "droplistbox", (j ai changer avec listbox)

il me "count" 3 controls sur ma page, j ai essayer de counter les controls dans ma table (tab_kat) mais il en trouve que 2 ??????
apparement ce sont les cellules trouvees

....mais ca avance...

bizarre bizarre

%-6
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 oct. 2004 à 12:56
oui c'est aussi une facon de faire, tu parcours ton tableau cellule par cellule, alors que moi je te proposais de regarder tout les controles de la page.

Bizarre que tu n'y es pas arrivé avec ma méthode, mais l'important c'est que tu es trouvé une solution :)

@+

Cyril
0
Poulipe Messages postés 171 Date d'inscription vendredi 14 septembre 2001 Statut Membre Dernière intervention 9 mai 2012
7 oct. 2004 à 13:04
comme je te disais avant, il ne trouvait que 3 controls sur ma page, dont ma table...c pour ca que j en suis arrive la...

a+
0
Rejoignez-nous