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 :

[DropdownList] Pourquoi selectedvalue ne recupere pas la valeur 0 ?


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 29
    Points : 19
    Points
    19
    Par défaut [DropdownList] Pourquoi selectedvalue ne recupere pas la valeur 0 ?
    Bonjour a tous,

    J'ai un petit probleme avec une dropdownlist qui se trouve dans un datagrid.
    je renseigne ce dropdownlist avec des valeurs de listitem.

    code aspx:

    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
     
    <asp:TemplateColumn HeaderText="Pourcentage">
      <HeaderTemplate>
        <asp:Button id="Button2" runat="server" Text="Modifier
     CommandName="Modifier"></asp:Button>
      </HeaderTemplate>
      <ItemTemplate>
        <asp:DropDownList id="DropDownList2" runat="server"
     AutoPostBack="True">
            <asp:ListItem selected="True" Value="-1">--</asp:ListItem>
            <asp:ListItem value="0"> Entre 0% et 2% </asp:ListItem>
            <asp:ListItem Value="1"> Entre 3% et 5% </asp:ListItem>
            <asp:ListItem Value="2"> Entre 6% et 25% </asp:ListItem>
            <asp:ListItem Value="3"> Entre 26% et 75% </asp:ListItem>
            <asp:ListItem Value="4"> Entre 75% et 100% </asp:ListItem>
         </asp:DropDownList>
       </ItemTemplate>
    </asp:TemplateColumn>
    j'arrive a recuperer toutes les valeurs mais pas la valeur 0
    je ne comprend rien

    voici mon code behind:
    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
     
    Private Sub dg2_ItemCommand(ByVal source As System.Object, _
    ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
    Handles datagrid1.itemcommand
       Dim neb As String
       Dim nebs() As String
       Dim f As Integer
     
       If e.CommandName <> "Modifier" Then Exit Sub 
     
       'recupere les valeurs selectionner de chaque ligne
       For Each odgitem As DataGridItem In DataGrid1.Items
          If CType(odgitem.FindControl("DropDownList2"),
     DropDownList).SelectedValue Then
              neb &= CType(odgitem.FindControl("DropDownList2"),
     DropDownList).SelectedValue.ToString & "'"
           End If
        Next
        'affiche mes valeurs dans un textbox
        TextBox1.Text = neb
    est ce que ça viens de mon code ou est ce que cela viens d'une propriété du dropdownlist
    Please y' a t il une ame charitable

  2. #2
    Membre habitué Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Points : 169
    Points
    169
    Par défaut
    je ne suis pas sure, mais je crois que VB commence de 1 a N, au contraire de C# qui commence de 0 a n-1
    essaie de voir si ca va de 1 a N
    Deeal

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    ça prend également des valeurs négatives dans mon exemple j'utilise value=-1 et ça fonctionne également mais la valeur=0 il ne me l'affiche pas dans ma textbox.

    ex:
    si j'ai 5 dropdownlist dans mon datagrid je selectionne ligne par ligne (5 fois dans ce cas) le pourcentage désirer.
    si je choisis la valeur 0 pour les 2 premières puis d'autres valeurs comme 1 ou 2 pour les 3 suivantes et je clic sur le bouton

    ==> alors dans la textbox: j'aurais 1'2'1' et non 0'0'1'2'1' et j'ai vraiment besoin de recuperer 0
    comment dois je m'y prendre

  4. #4
    Membre habitué Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Points : 169
    Points
    169
    Par défaut
    le probleme vient de ton If, je crois
    car selectedValue est a 0 et donc considere comme faux, donc tu ne prends pas cette valeur
    essaie de modifier la condition de ton If

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    ok je regarde ça des demain je pense que c'est une bonne voie

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 29
    Points : 19
    Points
    19
    Par défaut
    C'est bon ça fonctionne merci deeal pour tes conseils

    pour ceux que ça interesse il fallait en fait taper:

    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
    Private Sub dg2_ItemCommand(ByVal source As System.Object, _
    ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
    Handles datagrid1.itemcommand
     
            Dim neb As String
            Dim nebs() As String
            Dim f As Integer
     
            If e.CommandName <> "Modifier" Then Exit Sub Else 
     
            'recupere les valeurs selectionner de chaque ligne
            For Each odgitem As DataGridItem In DataGrid1.Items
                If Not CType(odgitem.FindControl("DropDownList2"),
     DropDownList).SelectedValue is Nothing is Nothing Then
                    neb &= CType(odgitem.FindControl("DropDownList2"),
     DropDownList).SelectedValue.ToString & "'"
     
                End If
     
            Next
    'affiche mes valeurs dans un textbox
            TextBox1.Text = neb

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/04/2015, 15h52
  2. [MySQL] Pourquoi ma base n'enregistre pas une valeur
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/06/2009, 22h07
  3. Réponses: 10
    Dernier message: 12/06/2008, 16h06
  4. [C#] Recuperation d'une valeur DropDownList
    Par topolino dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/03/2005, 17h33
  5. Réponses: 2
    Dernier message: 22/07/2002, 19h02

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