IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VB.Net] Repeater , contenu dynamique


Sujet :

ASP.NET

  1. #21
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each RepeaterIt In repeater1.Items
     
                Dim item as new monobjet("","")
                item = RepeaterIt .DataItem
    ....

  2. #22
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    oui excuse moi je voulais mettre ca. mais il me dit que l'objet n'est pas instancié.
    je procede pourtant de la meme maniere que au dessus mais cette fois je narrive pas a acceder a mes objet champ_textbox2 et champ_label2
    "One should never increase, beyond what is necessary,
    the number of entities required to explain anything."

  3. #23
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Il te fait une erreur où ??
    Sinon, tu as oublié de caster le retour de FindControl() en textbox ou en checkbox selon le cas. (FindControl() te retourne un type générique Control)

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    il mindique une erreur sur le select item.champ_textbox2, pour lui , il nest pas definie ( comme pour champ_label2 du reste )
    j'ai essayé de rajouté un test sur le type d'élement ( on verifie que l'on n'est ni dans le footer ni dans le header mais ca ne change rien
    "One should never increase, beyond what is necessary,
    the number of entities required to explain anything."

  5. #25
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Pardon, il faut aussi caster le retour de RepeatIt.DataItem en MonObjet

  6. #26
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    merci, jai tou caster, mais j'obtien la meme erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    For Each RepeaterIt In repeater1.Items
     
                if (RepeaterIt.ItemType = ListItemType.Item or RepeaterIt.ItemType = ListItemType.AlternatingItem) then
     
     
                Dim item as new monobjet("","")
                item = CType(RepeaterIt.DataItem, Monobjet)
     
                select item.champ_textbox2
     
                'select tampon
     
                case "System.String"
                  monTxtResultat = CType(RepeaterIt.FindControl("champ_textbox"), textbox)
     
                case "System.Boolean"
                  monTxtcheckbox = CType(RepeaterIt.FindControl("champ_checkbox"), checkbox)
     
                case "System.Double"
                  monTxtResultat = CType(RepeaterIt.FindControl("champ_textbox"), textbox)
                case "System.int32"
                  monTxtResultat = CType(RepeaterIt.FindControl("champ_textbox"), textbox)
     
                end select
                end if
    Object reference not set to an instance of an object. select item.champ_textbox2
    "One should never increase, beyond what is necessary,
    the number of entities required to explain anything."

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    ca ne pourrais pas venir du fait que la jessaye dy acceder apres un pseudo submit, et que du coup les champ ne sont plus disponible ?
    "One should never increase, beyond what is necessary,
    the number of entities required to explain anything."

  8. #28
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    C'est qu'il a pas gardé dans le ViewState les données liées à ton repeater.
    Dans ce cas, tu peux faire ça (C#) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    foreach(RepeaterItem item in Repeater1.items)
    {
       if (item .ItemType == ListItemType.Item || item .ItemType == ListItemType.AlternatingItem)
       {
          Control txtBox_tmp = item.FindControl("champ_textbox");
          Control ckBox_tmp = item.FindControl("champ_checkbox");
     
          if (txtBox_tmp != nul) // Cas ou c'est une checkBoxà
          {
             TextBox txtBox = txtBox_tmp as TextBox;
          }
          if (ckBox !=eckBox ckBox = ckBox_tmp as CheckBox;
          } null) // Cas où c'est une checkbox
          {  
             Ch
          ...
       }
    }

  9. #29
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Citation Envoyé par dyree
    ca ne pourrais pas venir du fait que la jessaye dy acceder apres un pseudo submit, et que du coup les champ ne sont plus disponible ?
    Qu'appel-tu un "pseudo submit"

  10. #30
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    oui mais non

    car mes Deux checkbox et textbox sont declaré donc ces tests seront toujours vrai non ?
    en revanche je peux tester leur visibilité non ?
    j'avoue c'est pas terrible mais si ca marche ...
    "One should never increase, beyond what is necessary,
    the number of entities required to explain anything."

  11. #31
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Ben joue sur la visibilité alors...
    Mais sinon, le ViewState est-il bien activé sur ta page / ton controle ??

  12. #32
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 56
    Points
    56
    Par défaut
    oui il est activé sur la page ( dans les propriété de webmatrix ) et sur le repeater dans la déclaration.
    car marche bien pour la visibilité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     if (RepeaterIt.ItemType = ListItemType.Item or RepeaterIt.ItemType = ListItemType.AlternatingItem) then
     
                   if RepeaterIt.FindControl("champ_textbox").Visible = true then
     
                      monTxtResultat = CType(RepeaterIt.FindControl("champ_textbox"), textbox)
                      myDataRow(tampon) = monTxtResultat.Text
                   end if
     
                   if RepeaterIt.FindControl("champ_checkbox").Visible = true then
     
                      monTxtcheckbox = CType(RepeaterIt.FindControl("champ_checkbox"), checkbox)
                      if moncheckbox.checked = true
                          myDataRow(tampon) = "true"
                      else
                          myDataRow(tampon) = "false"
                   end if
     
                end if
    "One should never increase, beyond what is necessary,
    the number of entities required to explain anything."

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Effet visuel de Contenu dynamique
    Par kolib dans le forum ASP
    Réponses: 7
    Dernier message: 12/09/2005, 08h37
  2. Réponses: 2
    Dernier message: 09/09/2005, 10h06
  3. [VB.NET] repeater/datagrid dynamique clique d'un bouton
    Par lucie.houel dans le forum ASP.NET
    Réponses: 11
    Dernier message: 19/07/2005, 16h17
  4. [VB.NET] Treeview creer dynamiquement a partir d'une bd
    Par graphicsxp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/03/2005, 17h02
  5. [VB.NET] Repeater imbriqué
    Par Sadneth dans le forum ASP.NET
    Réponses: 8
    Dernier message: 18/02/2005, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo